public function testTemplateControllerRules() { $serviceManager = $this->getServiceManager(); $resource = 'UthandoNewsletter\\Controller\\Template'; $controller = new Template(); $controller->setServiceLocator($serviceManager); $controller->setPluginManager($serviceManager->get('ControllerPluginManager')); /* @var \UthandoUser\Controller\Plugin\IsAllowed $acl */ $acl = $controller->plugin('isAllowed'); // guest rules $identity = null; $acl->setIdentity($identity); $this->assertInstanceOf(GenericRole::class, $acl->getIdentity()); $this->assertFalse($acl->isAllowed($resource, 'index')); $this->assertFalse($acl->isAllowed($resource, 'list')); $this->assertFalse($acl->isAllowed($resource, 'add')); $this->assertFalse($acl->isAllowed($resource, 'edit')); $this->assertFalse($acl->isAllowed($resource, 'delete')); $this->assertFalse($acl->isAllowed($resource, 'preview')); // registered user rules $identity = $this->getRegisteredUser(); $acl->setIdentity($controller->identity()); $this->assertEquals($identity, $acl->getIdentity()); $this->assertFalse($acl->isAllowed($resource, 'index')); $this->assertFalse($acl->isAllowed($resource, 'list')); $this->assertFalse($acl->isAllowed($resource, 'add')); $this->assertFalse($acl->isAllowed($resource, 'edit')); $this->assertFalse($acl->isAllowed($resource, 'delete')); $this->assertFalse($acl->isAllowed($resource, 'preview')); // admin user rules $identity = $this->getAdminUser(); $acl->setIdentity($controller->identity()); $this->assertEquals($identity, $acl->getIdentity()); $this->assertTrue($acl->isAllowed($resource, 'index')); $this->assertTrue($acl->isAllowed($resource, 'list')); $this->assertTrue($acl->isAllowed($resource, 'add')); $this->assertTrue($acl->isAllowed($resource, 'edit')); $this->assertTrue($acl->isAllowed($resource, 'delete')); $this->assertTrue($acl->isAllowed($resource, 'preview')); }