/** * Collect activities changes * * @param OnFlushEventArgs $args */ public function onFlush(OnFlushEventArgs $args) { $entityManager = $args->getEntityManager(); $unitOfWork = $entityManager->getUnitOfWork(); $this->collectInsertedEntities($unitOfWork->getScheduledEntityInsertions()); $this->collectUpdates($unitOfWork); $this->collectDeletedEntities($unitOfWork->getScheduledEntityDeletions()); if ($this->activityListManager->processUpdatedEntities($this->updatedEntities, $entityManager)) { $this->updatedEntities = []; } }
public function testProcessUpdateEntities() { $em = $this->getMockBuilder('Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock(); $testEntity = new \stdClass(); $resultActivityList = new ActivityList(); $this->chainProvider->expects($this->once())->method('getUpdatedActivityList')->with($testEntity)->willReturn($resultActivityList); $em->expects($this->once())->method('persist')->with($resultActivityList); $uow = $this->getMockBuilder('Doctrine\\ORM\\UnitOfWork')->disableOriginalConstructor()->getMock(); $em->expects($this->once())->method('getUnitOfWork')->willReturn($uow); $metaData = $this->getMockBuilder('Doctrine\\ORM\\Mapping\\ClassMetadata')->disableOriginalConstructor()->getMock(); $em->expects($this->once())->method('getClassMetadata')->with('Oro\\Bundle\\ActivityListBundle\\Entity\\ActivityList')->willReturn($metaData); $uow->expects($this->once())->method('computeChangeSet')->with($metaData, $resultActivityList); $this->assertTrue($this->manager->processUpdatedEntities([$testEntity], $em)); }