protected function setUp() { $this->tree = new OwnerTree(); $this->metadataProvider = new OwnershipMetadataProviderStub($this); $this->metadataProvider->setMetadata($this->metadataProvider->getOrganizationClass(), new OwnershipMetadata()); $this->metadataProvider->setMetadata($this->metadataProvider->getBusinessUnitClass(), new OwnershipMetadata('BUSINESS_UNIT', 'owner', 'owner_id')); $this->metadataProvider->setMetadata($this->metadataProvider->getUserClass(), new OwnershipMetadata('BUSINESS_UNIT', 'owner', 'owner_id')); /** @var \PHPUnit_Framework_MockObject_MockObject|OwnerTreeProvider $treeProviderMock */ $treeProviderMock = $this->getMockBuilder('Oro\\Bundle\\SecurityBundle\\Owner\\OwnerTreeProvider')->disableOriginalConstructor()->getMock(); $treeProviderMock->expects($this->any())->method('getTree')->will($this->returnValue($this->tree)); $container = $this->getMock('Symfony\\Component\\DependencyInjection\\ContainerInterface'); $container->expects($this->any())->method('get')->will($this->returnValueMap([['oro_security.ownership_tree_provider.chain', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, $treeProviderMock], ['oro_security.owner.metadata_provider.chain', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, $this->metadataProvider], ['oro_security.acl.object_id_accessor', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, new ObjectIdAccessor()], ['oro_security.owner.entity_owner_accessor', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, new EntityOwnerAccessor($this->metadataProvider)]])); $entityOwnerAccessor = new EntityOwnerAccessor($this->metadataProvider); $this->decisionMaker = new EntityOwnershipDecisionMaker($treeProviderMock, new ObjectIdAccessor(), $entityOwnerAccessor, $this->metadataProvider); $this->decisionMaker->setContainer($container); $this->extension = TestHelper::get($this)->createEntityAclExtension($this->metadataProvider, $this->tree, new ObjectIdAccessor(), $this->decisionMaker); $this->extension->setEntityOwnerAccessor($entityOwnerAccessor); }