示例#1
0
 public function testSimpleCascade()
 {
     $em = $this->getMock('Doctrine\\ORM\\EntityManager', [], [], '', false);
     $strategy = new SimpleCascadeStrategy($em);
     $subResource = $this->getMockForAbstractClass('MyCLabs\\ACL\\Model\\ResourceInterface');
     $cascadingResource = $this->getMockForAbstractClass('MyCLabs\\ACL\\Model\\CascadingResource');
     $cascadingResource->expects($this->once())->method('getSubResources')->will($this->returnValue([$subResource]));
     $authorization = $this->getMockBuilder('MyCLabs\\ACL\\Model\\Authorization')->disableOriginalConstructor()->getMock();
     $authorization->expects($this->once())->method('createChildAuthorization')->with($subResource)->will($this->returnValue('foo'));
     $subAuthorizations = $strategy->cascadeAuthorization($authorization, $cascadingResource);
     $this->assertEquals(['foo'], $subAuthorizations);
 }
示例#2
0
 protected function createACL()
 {
     $cascadeStrategy = new SimpleCascadeStrategy($this->em);
     $cascadeStrategy->setResourceGraphTraverser('Tests\\MyCLabs\\ACL\\Integration\\Issues\\Issue10\\Project', new ProjectGraphTraverser());
     return new ACL($this->em, $cascadeStrategy);
 }