Beispiel #1
0
 public function testSend()
 {
     $transport = $this->mockInterface('Swift_Transport')->newInstance();
     $sendMethod = $transport->mockMethod('send')->set(1);
     $mailer = new CM_Mail_Mailer($transport);
     $mail = new CM_Mail_Mailable('*****@*****.**', null, null, $mailer);
     $mail->setSender('*****@*****.**', 'Sender');
     $mail->setSubject('testSubject');
     $mail->addReplyTo('*****@*****.**');
     $mail->addCc('*****@*****.**', 'foobar');
     $mail->addBcc('*****@*****.**');
     $mail->addCustomHeader('X-Foo', 'bar');
     $mail->addCustomHeader('X-Bar', 'foo');
     $mail->addCustomHeader('X-Foo', 'foo');
     $mail->getMessage()->setBodyWithAlternative('content', '<b>content</b>');
     $message = $mail->getMessage();
     $this->assertSame(['*****@*****.**' => 'Sender'], $message->getSender());
     $this->assertSame(['*****@*****.**' => 'Sender'], $message->getFrom());
     $this->assertSame('testSubject', $message->getSubject());
     $this->assertSame('content', $message->getText());
     $this->assertSame('<b>content</b>', $message->getHtml());
     $this->assertSame(['*****@*****.**' => null], $message->getReplyTo());
     $this->assertSame(['*****@*****.**' => 'foobar'], $message->getCc());
     $this->assertSame(['*****@*****.**' => null], $message->getBcc());
     $this->assertSame('foo', $message->getHeaders()->get('X-Bar')->getFieldBody());
     $this->assertSame('bar', $message->getHeaders()->get('X-Foo', 0)->getFieldBody());
     $this->assertSame('foo', $message->getHeaders()->get('X-Foo', 1)->getFieldBody());
     $mail->send();
     // TODO: https://github.com/cargomedia/cm/pull/2305 needed
     // $this->assertSame(1, $sendMethod->getCallCount());
 }