Phalcon\Test\Unit\Acl\Adapter\MemoryTest::testAclObjectsWithDefaultAction PHP Method

testAclObjectsWithDefaultAction() public method

Tests the ACL objects default action
Since: 2014-10-04
Author: Nikolaos Dimopoulos ([email protected])
    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);
        });
    }