public function testMerge() { $account1 = new User(); $account2 = new User(); $this->setId($account1, 1); $this->setId($account2, 2); $entityMetadata = new EntityMetadata(['type' => ClassUtils::getRealClass($account1)]); $entityData = new EntityData($entityMetadata, [$account1, $account2]); $entityData->setMasterEntity($account1); $fieldData = new FieldData($entityData, new FieldMetadata()); $fieldData->setMode(MergeModes::NOTES_REPLACE); $fieldData->setSourceEntity($account2); $queryBuilder = $this->getMockBuilder('Doctrine\\ORM\\QueryBuilder')->disableOriginalConstructor()->setMethods(['getQuery', 'getResult'])->getMock(); $queryBuilder->expects($this->any())->method('getQuery')->will($this->returnSelf()); $queryBuilder->expects($this->any())->method('getResult')->will($this->returnValue([new ExtendNote()])); $repository = $this->getMockBuilder('Oro\\Bundle\\ActivityListBundle\\Entity\\Repository\\ActivityListRepository')->disableOriginalConstructor()->setMethods(['getBaseAssociatedNotesQB', 'getActivityListQueryBuilderByActivityClass'])->getMock(); $repository->expects($this->any())->method('getBaseAssociatedNotesQB')->willReturn($queryBuilder); $activityQueryBuilder = $this->getMockBuilder('Doctrine\\ORM\\QueryBuilder')->disableOriginalConstructor()->setMethods(['getQuery', 'getResult'])->getMock(); $activityQueryBuilder->expects($this->any())->method('getQuery')->will($this->returnSelf()); $activityQueryBuilder->expects($this->any())->method('getResult')->will($this->returnValue([['id' => 1, 'relatedActivityId' => 11], ['id' => 3, 'relatedActivityId' => 2]])); $repository->expects($this->any())->method('getActivityListQueryBuilderByActivityClass')->willReturn($activityQueryBuilder); $entityManager = $this->getMockBuilder('Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->setMethods(['remove'])->getMock(); $this->doctrineHelper->expects($this->any())->method('getEntityRepository')->willReturn($repository); $this->doctrineHelper->expects($this->any())->method('getEntityManager')->willReturn($entityManager); $this->activityListManager->expects($this->once())->method('replaceActivityTargetWithPlainQuery'); $this->strategy->merge($fieldData); }
/** * {@inheritdoc} */ public function supports(FieldData $fieldData) { if ($fieldData->getMode() == MergeModes::UNITE) { return $fieldData->getMetadata()->isCollection(); } return false; }
/** * Render value of merge field * * @param FieldData $fieldData * @param int $entityOffset * @return string */ public function renderMergeFieldValue(FieldData $fieldData, $entityOffset) { $entity = $fieldData->getEntityData()->getEntityByOffset($entityOffset); $metadata = $fieldData->getMetadata(); $value = $this->accessor->getValue($entity, $metadata); return $this->fieldValueRenderer->renderFieldValue($value, $metadata, $entity); }
/** * Add field merge data * * @param FieldMetadata $metadata * @return FieldData */ protected function addNewField(FieldMetadata $metadata) { $field = new FieldData($this, $metadata); $this->fields[$field->getFieldName()] = $field; return $field; }
/** * {@inheritdoc} */ public function supports(FieldData $fieldData) { return $fieldData->getMode() === MergeModes::ACTIVITY_REPLACE; }
public function testGetFieldName() { $fieldName = 'test'; $this->fieldMetadata->expects($this->once())->method('getFieldName')->will($this->returnValue($fieldName)); $this->assertEquals($fieldName, $this->fieldData->getFieldName()); }
/** * {@inheritdoc} */ public function supports(FieldData $fieldData) { return $fieldData->getMode() === MergeModes::NOTES_UNITE; }
/** * Add field merge data * * @param FieldMetadata $metadata * @return FieldData */ protected function addNewField(FieldMetadata $metadata) { $field = new FieldData($this, $metadata); $this->fields[$field->getFieldName()] = $field; if ($this->getMasterEntity()) { $field->setSourceEntity($this->getMasterEntity()); } return $field; }