Completed
Push — master ( df6049...d068c5 )
by Antonio
07:08 queued 04:48
created

MailMessageTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4
Metric Value
wmc 4
lcom 1
cbo 4
dl 0
loc 44
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testMailMessageMagicMethods() 0 13 2
A testMailMessageJsonSerializeAndFromArrayMethods() 0 11 1
A testAsSwiftMessageMethod() 0 14 1
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