Completed
Push — master ( f867ee...b2d0fe )
by Adrien
09:16 queued 04:47
created

MailerTest::createMockUser()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 15
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 11
nc 1
nop 0
dl 0
loc 15
rs 9.9
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace ApplicationTest\Service;
6
7
use Application\Model\Message;
8
use Application\Service\Mailer;
9
use Doctrine\ORM\EntityManager;
10
use Zend\Mail\Transport\InMemory;
11
12
class MailerTest extends \PHPUnit\Framework\TestCase
13
{
14
    private function createMockMailer(): Mailer
15
    {
16
        $entityManager = $this->createMock(EntityManager::class);
17
        $transport = new InMemory();
18
19
        $mailer = new Mailer(
20
            $entityManager,
21
            $transport,
22
            null,
23
            '[email protected]',
24
            '/user/bin/php'
25
        );
26
27
        return $mailer;
28
    }
29
30
    public function testSendMessage(): void
31
    {
32
        $mailer = $this->createMockMailer();
33
        $message = new Message();
34
        $message->setEmail('[email protected]');
35
36
        $this->expectOutputRegex('~email sent to: john\.doe@example\.com~');
37
        $mailer->sendMessage($message);
38
        self::assertNotNull($message->getDateSent());
39
    }
40
}
41