public function testHandleOnFlushWhenSnapshotLengthIsNotEnoughAndTwoValuesAreReplacedWithDots()
 {
     $owner = new TestEntity();
     $updatedColl = $this->getPersistentCollection($owner, ['type' => ClassMetadata::MANY_TO_MANY, 'isOwningSide' => true, 'fieldName' => 'values', 'targetEntity' => self::ENUM_VALUE_CLASS], [new TestEnumValue('value678901234567890123456789_01', 'Value 1'), new TestEnumValue('value678901234567890123456789_02', 'Value 2'), new TestEnumValue('value678901234567890123456789_03', 'Value 3'), new TestEnumValue('value678901234567890123456789_04', 'Value 4'), new TestEnumValue('value678901234567890123456789_05', 'Value 5'), new TestEnumValue('value678901234567890123456789_06', 'Value 6'), new TestEnumValue('value678901234567890123456789_07', 'Value 7'), new TestEnumValue('value678901234567890123456789_08', 'Value 8'), new TestEnumValue('value678901234567890123456789_09', 'Value 9'), new TestEnumValue('value678901234567890123456789_10', 'Value 10'), new TestEnumValue('value678901234567890123456789_11', 'Value 11'), new TestEnumValue('value678901234567890123456789_12', 'Value 12'), new TestEnumValue('value678901234567890123456789_13', 'Value 13'), new TestEnumValue('value678901234567890123456789_14', 'Value 14'), new TestEnumValue('value678901234567890123456789_15', 'Value 15'), new TestEnumValue('z1', 'Value 16'), new TestEnumValue('zz1', 'Value 17')]);
     $this->uow->expects($this->once())->method('getScheduledCollectionUpdates')->will($this->returnValue([$updatedColl]));
     $this->uow->expects($this->once())->method('getScheduledCollectionDeletions')->will($this->returnValue([]));
     $metadata = $this->getMockBuilder('Doctrine\\ORM\\Mapping\\ClassMetadata')->disableOriginalConstructor()->getMock();
     $this->em->expects($this->once())->method('getClassMetadata')->with(get_class($owner))->will($this->returnValue($metadata));
     $this->uow->expects($this->once())->method('recomputeSingleEntityChangeSet')->with($this->identicalTo($metadata), $owner);
     $event = $this->getOnFlushEventArgsMock();
     $this->manager->handleOnFlush($event);
     $this->assertLessThanOrEqual(ExtendHelper::MAX_ENUM_SNAPSHOT_LENGTH, strlen($owner->getValuesSnapshot()));
     $this->assertEquals('value678901234567890123456789_01,value678901234567890123456789_02,value678901234567890123456789_03,' . 'value678901234567890123456789_04,value678901234567890123456789_05,value678901234567890123456789_06,' . 'value678901234567890123456789_07,value678901234567890123456789_08,value678901234567890123456789_09,' . 'value678901234567890123456789_10,value678901234567890123456789_11,value678901234567890123456789_12,' . 'value678901234567890123456789_13,value678901234567890123456789_14,value678901234567890123456789_15,...', $owner->getValuesSnapshot());
 }
Example #2
0
 /**
  * @param OnFlushEventArgs $event
  */
 public function onFlush(OnFlushEventArgs $event)
 {
     $this->multiEnumManager->handleOnFlush($event);
 }