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'));
 }