Ejemplo n.º 1
0
 /**
  * Create thread if need for queued emails
  *
  * @param EntityManager $entityManager
  */
 protected function processThreadCreate(EntityManager $entityManager)
 {
     foreach ($this->getQueueThreadUpdate() as $entity) {
         $thread = $this->emailThreadProvider->getEmailThread($entityManager, $entity);
         if ($thread) {
             $entityManager->persist($thread);
             $entity->setThread($thread);
         }
         $this->updateRefs($entityManager, $entity);
     }
 }
Ejemplo n.º 2
0
 /**
  * @param Email[] $newEmails
  */
 public function updateThreads(array $newEmails)
 {
     foreach ($newEmails as $entity) {
         $thread = $this->emailThreadProvider->getEmailThread($this->em, $entity);
         if ($thread) {
             $this->em->persist($thread);
             $entity->setThread($thread);
         }
         $this->updateRefs($this->em, $entity);
     }
 }
Ejemplo n.º 3
0
 public function testGetEmailThreadIdGenerated()
 {
     $email = $this->getMock('Oro\\Bundle\\EmailBundle\\Entity\\Email');
     $email->expects($this->exactly(1))->method('getRefs')->will($this->returnValue(['testMessageId']));
     $entityManager = $this->getMockBuilder('Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock();
     $repository = $this->getMockBuilder('Doctrine\\ORM\\EntityRepository')->disableOriginalConstructor()->getMock();
     $queryBuilder = $this->getMockBuilder('Doctrine\\ORM\\QueryBuilder')->disableOriginalConstructor()->getMock();
     $query = $this->getMockBuilder('Doctrine\\ORM\\AbstractQuery')->disableOriginalConstructor()->setMethods(['getResult'])->getMockForAbstractClass();
     $emailFromTread = $this->getMock('Oro\\Bundle\\EmailBundle\\Entity\\Email');
     $query->expects($this->exactly(1))->method('getResult')->will($this->returnValue([$emailFromTread]));
     $queryBuilder->expects($this->exactly(1))->method('getQuery')->will($this->returnValue($query));
     $repository->expects($this->exactly(1))->method('createQueryBuilder')->with('e')->willReturn($queryBuilder);
     $entityManager->expects($this->exactly(1))->method('getRepository')->with('OroEmailBundle:Email')->will($this->returnValue($repository));
     $this->assertNotEmpty($this->provider->getEmailThread($entityManager, $email));
 }