/** * Tests if inheriting Permissions works as expected. * */ public function testInherit() { $resource = $this->getMockBuilder('\\Core\\Entity\\PermissionsResourceInterface')->getMockForAbstractClass(); $resource->expects($this->any())->method('getPermissionsResourceId')->willReturn('resource'); $resource->expects($this->any())->method('getPermissionsUserIds')->willReturn(array('test')); $target1 = new Permissions(); $target2 = new Permissions(); $target1->grant('userTarget1', Permissions::PERMISSION_ALL); $target1->grant($resource, Permissions::PERMISSION_VIEW); $target2->grant('user', Permissions::PERMISSION_VIEW); $target2->inherit($target1); $this->assertTrue($target2->isGranted('userTarget1', Permissions::PERMISSION_ALL)); $this->assertTrue($target2->isGranted('test', Permissions::PERMISSION_VIEW)); }