From 23634d5d842dabcf5d7475e2becb7e127824239e Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Wed, 1 Jun 2016 21:27:35 +0200 Subject: Jump to Symfony 3.1 --- .../UserBundle/Mailer/AuthCodeMailerTest.php | 84 ++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 tests/Wallabag/UserBundle/Mailer/AuthCodeMailerTest.php (limited to 'tests/Wallabag/UserBundle/Mailer/AuthCodeMailerTest.php') diff --git a/tests/Wallabag/UserBundle/Mailer/AuthCodeMailerTest.php b/tests/Wallabag/UserBundle/Mailer/AuthCodeMailerTest.php new file mode 100644 index 00000000..f670c925 --- /dev/null +++ b/tests/Wallabag/UserBundle/Mailer/AuthCodeMailerTest.php @@ -0,0 +1,84 @@ +messages); + } + + public function getMessages() + { + return $this->messages; + } +} + +class AuthCodeMailerTest extends \PHPUnit_Framework_TestCase +{ + protected $mailer; + protected $spool; + protected $twig; + protected $config; + + protected function setUp() + { + $this->spool = new CountableMemorySpool(); + $transport = new \Swift_Transport_SpoolTransport( + new \Swift_Events_SimpleEventDispatcher(), + $this->spool + ); + $this->mailer = new \Swift_Mailer($transport); + + $twigTemplate = <<twig = new \Twig_Environment(new \Twig_Loader_Array(['WallabagUserBundle:TwoFactor:email_auth_code.html.twig' => $twigTemplate])); + + $this->config = $this->getMockBuilder('Craue\ConfigBundle\Util\Config') + ->disableOriginalConstructor() + ->getMock(); + + $this->config->expects($this->any()) + ->method('get') + ->willReturn('http://0.0.0.0/support'); + } + + public function testSendEmail() + { + $user = new User(); + $user->setTwoFactorAuthentication(true); + $user->setEmailAuthCode(666666); + $user->setEmail('test@wallabag.io'); + $user->setName('Bob'); + + $authCodeMailer = new AuthCodeMailer( + $this->mailer, + $this->twig, + 'nobody@test.io', + 'wallabag test', + $this->config + ); + + $authCodeMailer->sendAuthCode($user); + + $this->assertCount(1, $this->spool); + + $msg = $this->spool->getMessages()[0]; + $this->assertArrayHasKey('test@wallabag.io', $msg->getTo()); + $this->assertEquals(['nobody@test.io' => 'wallabag test'], $msg->getFrom()); + $this->assertEquals('subject', $msg->getSubject()); + $this->assertContains('text body http://0.0.0.0/support', $msg->toString()); + $this->assertContains('html body 666666', $msg->toString()); + } +} -- cgit v1.2.3