예제 #1
0
 /**
  * @param object $entity
  * @param array $searchContext
  *
  * @return object|null
  */
 protected function findExistingEntityByIdentityFields($entity, array $searchContext = [])
 {
     $entityName = ClassUtils::getClass($entity);
     $identityValues = $searchContext;
     $identityValues += $this->fieldHelper->getIdentityValues($entity);
     foreach ($identityValues as $fieldName => $value) {
         if ($value !== null || $this->fieldHelper->isRequiredIdentityField($entityName, $fieldName)) {
             continue;
         }
         unset($identityValues[$fieldName]);
     }
     return $this->findEntityByIdentityValues($entityName, $identityValues);
 }
예제 #2
0
 /**
  * @dataProvider isRequiredIdentityFieldProvider
  */
 public function testIsRequiredIdentityField($identityValue, $expectedResult)
 {
     $this->config['stdClass'] = ['testField' => ['identity' => $identityValue]];
     $this->assertEquals($expectedResult, $this->helper->isRequiredIdentityField('stdClass', 'testField'));
 }