public function testFind() { $entity = new \stdClass(); $identifier = 1; $this->doctrineHelper->expects($this->once())->method('getEntity')->with(self::TEST_CLASS, $identifier)->will($this->returnValue($entity)); $this->assertEquals($entity, $this->helper->find(self::TEST_CLASS, $identifier)); }
/** * @param object $entity * @param array $searchContext * @return null|object */ protected function findExistingEntity($entity, array $searchContext = array()) { $entityName = ClassUtils::getClass($entity); $identifier = $this->databaseHelper->getIdentifier($entity); $existingEntity = null; // find by identifier if ($identifier) { $existingEntity = $this->databaseHelper->find($entityName, $identifier); } // find by identity fields if (!$existingEntity && (!$searchContext || $this->databaseHelper->getIdentifier(current($searchContext)))) { $identityValues = $searchContext; $identityValues += $this->fieldHelper->getIdentityValues($entity); $existingEntity = $this->findEntityByIdentityValues($entityName, $identityValues); } return $existingEntity; }
public function testFindObjectFromEnotherOrganization() { $entityOrganization = new TestOrganization(); $entityOrganization->setId(2); $entity = new TestEntity(); $entity->getOrganization($entityOrganization); $identifier = 1; $entity->setId($identifier); $currentOrganization = new TestOrganization(); $currentOrganization->setId(1); $this->securityFacade->expects($this->any())->method('getOrganization')->willReturn($currentOrganization); $this->securityFacade->expects($this->any())->method('getOrganizationId')->willReturn($currentOrganization->getId()); $this->doctrineHelper->expects($this->once())->method('getEntity')->with(self::TEST_CLASS, $identifier)->will($this->returnValue($entity)); $metadata = new OwnershipMetadata('USER', 'owner', 'owner', 'organization', 'organization'); $this->fieldHelperService->expects($this->once())->method('getObjectValue')->willReturn($entity->getOrganization()); $this->ownershipMetadataProvider->expects($this->any())->method('getMetadata')->willReturn($metadata); $this->assertNull($this->helper->find(self::TEST_CLASS, $identifier)); }
/** * @param object $entity * @param array $searchContext * @return null|object */ protected function findExistingEntity($entity, array $searchContext = []) { $entityName = ClassUtils::getClass($entity); $identifier = $this->databaseHelper->getIdentifier($entity); $existingEntity = null; // find by identifier if ($identifier) { $existingEntity = $this->databaseHelper->find($entityName, $identifier); } // find by identity fields if (!$existingEntity && (!$searchContext || $this->databaseHelper->getIdentifier(current($searchContext)))) { $existingEntity = $this->findExistingEntityByIdentityFields($entity, $searchContext); } if ($existingEntity && !$identifier) { $identifier = $this->databaseHelper->getIdentifier($existingEntity); $identifierName = $this->databaseHelper->getIdentifierFieldName($entity); $this->fieldHelper->setObjectValue($entity, $identifierName, $identifier); } return $existingEntity; }