Completed
Push — master ( d068c5...99fa9d )
by Antonio
03:22 queued 58s
created

MailMessageTest::testMailMessageMagicMethods()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 13
Code Lines 8

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 13
rs 9.4286
cc 2
eloc 8
nc 2
nop 0
1
<?php
2
namespace Da\Mailer\Test\Model;
3
4
use Da\Mailer\Model\MailMessage;
5
use Da\Mailer\Test\Fixture\FixtureHelper;
6
use PHPUnit_Framework_TestCase;
7
use Swift_Message;
8
9
class MailMessageTest extends PHPUnit_Framework_TestCase
10
{
11
    public function testMailMessageMagicMethods()
12
    {
13
        $config = FixtureHelper::getMailMessageSmtpConfigurationArray();
14
        $mailMessage = FixtureHelper::getMailMessage();
15
16
17
        foreach ($config as $attribute => $value) {
18
            $this->assertEquals($config[$attribute], $mailMessage->$attribute);
19
            $this->assertTrue(isset($mailMessage->$attribute));
20
            unset($mailMessage->$attribute);
21
            $this->assertTrue(isset($mailMessage->$attribute) === false);
22
        }
23
    }
24
25
    public function testMailMessageJsonSerializeAndFromArrayMethods()
26
    {
27
        $config = FixtureHelper::getMailMessageSmtpConfigurationArray();
28
        $mailMessage = FixtureHelper::getMailMessage();
29
30
        $json = json_encode($mailMessage, JSON_NUMERIC_CHECK);
31
        $this->assertEquals(json_encode($config, JSON_NUMERIC_CHECK), $json);
32
        $decodedMailMessage = MailMessage::fromArray(json_decode($json, true));
33
34
        $this->assertEquals($mailMessage, $decodedMailMessage);
35
    }
36
37
    public function testAsSwiftMessageMethod()
38
    {
39
        $mailMessage = FixtureHelper::getMailMessage();
40
        $swift = $mailMessage->asSwiftMessage();
41
42
        $this->assertTrue($swift instanceof Swift_Message);
43
44
        $this->assertEquals([$mailMessage->to => null], $swift->getTo());
45
        $this->assertEquals([$mailMessage->from => null], $swift->getFrom());
46
        $this->assertEquals([$mailMessage->cc => null], $swift->getCc());
47
        $this->assertEquals([$mailMessage->bcc => null], $swift->getBcc());
48
        $this->assertEquals($mailMessage->subject, $swift->getSubject());
49
        $this->assertEquals($mailMessage->bodyHtml, $swift->getBody());
50
    }
51
52
}
53