/** * {@inheritdoc} */ public function denormalize($data, $class, $format = null, array $context = []) { /** @var MemberExtendedMergeVar $entity */ $entity = parent::denormalize($data, $class, $format, $context); /** @var StaticSegment $staticSegment */ $staticSegment = $this->databaseHelper->getEntityReference($entity->getStaticSegment()); if (!$staticSegment) { return $entity; } $extendedMergeVars = $staticSegment->getSyncedExtendedMergeVars(); if ($extendedMergeVars->isEmpty()) { return $entity; } $columns = $this->getColumns($staticSegment->getMarketingList()); $columnAliases = $this->getColumnAliases($staticSegment->getMarketingList()); $mergeVarValues = []; foreach ($extendedMergeVars as $extendedMergeVar) { $value = $this->getValue($extendedMergeVar, $data, $columns, $columnAliases); if ($value) { $mergeVarValues[$extendedMergeVar->getTag()] = $value; } } $this->fieldHelper->setObjectValue($entity, 'merge_var_values', $mergeVarValues); return $entity; }
public function testGetEntityReference() { $entity = new \stdClass(); $reference = new \stdClass(); $entityName = get_class($entity); $identifier = 1; $this->doctrineHelper->expects($this->once())->method('getSingleEntityIdentifier')->with($entity)->will($this->returnValue($identifier)); $this->doctrineHelper->expects($this->once())->method('getEntityReference')->with($entityName, $identifier)->will($this->returnValue($reference)); $this->assertEquals($reference, $this->helper->getEntityReference($entity)); }