public function testAclObjectsWithDefaultAction()
{
$this->specify('Acl with default action search does not return correct results', function () {
$acl = new Memory();
$aclRole = new Role('Administrators', 'Super User access');
$aclResource = new Resource('Customers', 'Customer management');
$acl->setDefaultAction(Acl::DENY);
$acl->addRole($aclRole);
$acl->addResource($aclResource, ['search', 'destroy']);
$expected = Acl::DENY;
$actual = $acl->isAllowed('Administrators', 'Customers', 'search');
expect($actual)->equals($expected);
});
$this->specify('Acl with default action destroy does not return correct results', function () {
$acl = new Memory();
$aclRole = new Role('Administrators', 'Super User access');
$aclResource = new Resource('Customers', 'Customer management');
$acl->setDefaultAction(Acl::DENY);
$acl->addRole($aclRole);
$acl->addResource($aclResource, ['search', 'destroy']);
$expected = Acl::DENY;
$actual = $acl->isAllowed('Administrators', 'Customers', 'destroy');
expect($actual)->equals($expected);
});
}