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