/** * @test */ public function thatMessagesAreFetched() { $zendMailMessage = new ZendMailMessage(); $zendMailMessage->setHeaders($this->headers()); $this->converter->expects($this->once())->method('fromRawMessage')->with($this->equalTo(self::DUMMY_RAW_MESSAGE))->will($this->returnValue($zendMailMessage)); $messages = $this->messageProvider->fetchMessagesToProcess(); $this->assertNotEmpty($messages); $this->assertContainsOnlyInstancesOf('\\Diamante\\EmailProcessingBundle\\Model\\Message', $messages); }
/** * Fetch messages that should be processed * @return array|Message[] * @throws MessageProcessingException */ public function fetchMessagesToProcess() { $zendMailMessage = $this->converter->fromRawMessage($this->input); $headers = $zendMailMessage->getHeaders(); $uniqueMessageId = uniqid($zendMailMessage->getSubject()); $messageId = $this->processMessageId($headers); $messageSubject = $zendMailMessage->getSubject(); $messageContent = $this->processContent($zendMailMessage); $messageFrom = $this->processFrom($headers); $messageTo = $this->processTo($headers); $messageReference = $this->processMessageReference($headers); $messageAttachments = $this->processAttachments($zendMailMessage); $recipients = $this->processRecipients($headers); $message = new Message($uniqueMessageId, $messageId, $messageSubject, $messageContent, $messageFrom, $messageTo, $messageReference, $messageAttachments, $recipients); return array($message); }