Пример #1
0
 /**
  * @param      $user
  * @param bool $withOrigin
  */
 protected function processWithOwner($user, $withOrigin = false)
 {
     $message = $this->getMockForAbstractClass('\\Swift_Mime_Message');
     $this->mailer->expects($this->once())->method('createMessage')->will($this->returnValue($message));
     $this->mailer->expects($this->once())->method('send')->with($message)->will($this->returnValue(true));
     $this->emailOwnerProvider->expects($this->once())->method('findEmailOwner')->with($this->em, '*****@*****.**')->will($this->returnValue($user));
     $email = $this->getMockBuilder('Oro\\Bundle\\EmailBundle\\Entity\\Email')->disableOriginalConstructor()->getMock();
     $this->emailEntityBuilder->expects($this->once())->method('email')->with('test', 'Test User <*****@*****.**>', ['*****@*****.**'])->will($this->returnValue($email));
     $body = $this->getMockBuilder('Oro\\Bundle\\EmailBundle\\Entity\\EmailBody')->disableOriginalConstructor()->getMock();
     $this->emailEntityBuilder->expects($this->once())->method('body')->with('test body', false, true)->will($this->returnValue($body));
     $batch = $this->getMock('Oro\\Bundle\\EmailBundle\\Builder\\EmailEntityBatchInterface');
     $this->emailEntityBuilder->expects($this->once())->method('getBatch')->will($this->returnValue($batch));
     $batch->expects($this->once())->method('persist')->with($this->identicalTo($this->em));
     $this->em->expects($this->once())->method('flush');
     if (!$withOrigin) {
         $this->emailProcessor = $this->getMockBuilder('Oro\\Bundle\\EmailBundle\\Mailer\\Processor')->setConstructorArgs([$this->doctrineHelper, $this->mailer, new EmailAddressHelper(), $this->emailEntityBuilder, $this->emailOwnerProvider, $this->emailActivityManager])->setMethods(['createUserInternalOrigin'])->getMock();
         $this->emailProcessor->expects($this->once())->method('createUserInternalOrigin')->with($user)->will($this->returnValue($this->getTestOrigin()));
     }
     $model = $this->createEmailModel(array('from' => 'Test User <*****@*****.**>', 'to' => array('*****@*****.**'), 'subject' => 'test', 'body' => 'test body'));
     $this->emailProcessor->process($model);
 }