Switch to using current_user_can function to check capabilities

This commit is contained in:
Tautvidas Sipavičius
2017-11-06 18:09:38 +02:00
parent c9f1d38baa
commit c42cf2f622
4 changed files with 96 additions and 45 deletions

View File

@@ -95,23 +95,37 @@ class RouterTest extends \MailPoetTest {
}
function testItValidatesGlobalPermission() {
$access_control = new AccessControl();
$router = $this->router;
$permissions = array(
'global' => AccessControl::PERMISSION_MANAGE_SETTINGS,
);
$access_control->user_roles = array();
$access_control = Stub::make(
new AccessControl(),
array(
'validatePermission' => Stub::once(function($cap) {
expect($cap)->equals(AccessControl::PERMISSION_MANAGE_SETTINGS);
return false;
})
)
);
$router->access_control = $access_control;
expect($router->validatePermissions(null, $permissions))->false();
$access_control->user_roles = $access_control->permissions[AccessControl::PERMISSION_MANAGE_SETTINGS];
$access_control = Stub::make(
new AccessControl(),
array(
'validatePermission' => Stub::once(function($cap) {
expect($cap)->equals(AccessControl::PERMISSION_MANAGE_SETTINGS);
return true;
})
)
);
$router->access_control = $access_control;
expect($router->validatePermissions(null, $permissions))->true();
}
function testItValidatesEndpointActionPermission() {
$access_control = new AccessControl();
$router = $this->router;
$permissions = array(
@@ -121,11 +135,27 @@ class RouterTest extends \MailPoetTest {
)
);
$access_control->user_roles = array();
$access_control = Stub::make(
new AccessControl(),
array(
'validatePermission' => Stub::once(function($cap) {
expect($cap)->equals(AccessControl::PERMISSION_MANAGE_SETTINGS);
return false;
})
)
);
$router->access_control = $access_control;
expect($router->validatePermissions('test', $permissions))->false();
$access_control->user_roles = $access_control->permissions[AccessControl::PERMISSION_MANAGE_SETTINGS];
$access_control = Stub::make(
new AccessControl(),
array(
'validatePermission' => Stub::once(function($cap) {
expect($cap)->equals(AccessControl::PERMISSION_MANAGE_SETTINGS);
return true;
})
)
);
$router->access_control = $access_control;
expect($router->validatePermissions('test', $permissions))->true();
}
@@ -222,4 +252,4 @@ class RouterTest extends \MailPoetTest {
);
expect($result)->contains(Router::NAME . '&endpoint=router_test_mock_endpoint&action=test&data=' . $encoded_data);
}
}
}