From 23ff8d36199c0cddb5bae4a5010cb71f861eeef8 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Tue, 29 Dec 2015 09:59:46 +0100 Subject: Add custom email for 2FA Related #1490 --- .../UserBundle/Tests/Mailer/AuthCodeMailerTest.php | 78 ++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 src/Wallabag/UserBundle/Tests/Mailer/AuthCodeMailerTest.php (limited to 'src/Wallabag/UserBundle/Tests/Mailer/AuthCodeMailerTest.php') diff --git a/src/Wallabag/UserBundle/Tests/Mailer/AuthCodeMailerTest.php b/src/Wallabag/UserBundle/Tests/Mailer/AuthCodeMailerTest.php new file mode 100644 index 00000000..9122576a --- /dev/null +++ b/src/Wallabag/UserBundle/Tests/Mailer/AuthCodeMailerTest.php @@ -0,0 +1,78 @@ +messages); + } + + public function getMessages() + { + return $this->messages; + } +} + +class AuthCodeMailerTest extends \PHPUnit_Framework_TestCase +{ + protected $mailer; + protected $spool; + protected $dataCollector; + + protected function setUp() + { + $this->spool = new CountableMemorySpool(); + $transport = new \Swift_Transport_SpoolTransport( + new \Swift_Events_SimpleEventDispatcher(), + $this->spool + ); + $this->mailer = new \Swift_Mailer($transport); + + $translator = new Translator('en'); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array( + 'auth_code.mailer.subject' => 'auth_code subject', + 'auth_code.mailer.body' => 'Hi %user%, here is the code: %code% and the support: %support%', + ), 'en', 'wallabag_user'); + + $this->dataCollector = new DataCollectorTranslator($translator); + } + + 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->dataCollector, + 'nobody@test.io', + 'wallabag test', + 'http://0.0.0.0' + ); + + $authCodeMailer->sendAuthCode($user); + + $this->assertCount(1, $this->spool); + + $msg = $this->spool->getMessages()[0]; + $this->assertArrayHasKey('test@wallabag.io', $msg->getTo()); + $this->assertEquals(array('nobody@test.io' => 'wallabag test'), $msg->getFrom()); + $this->assertEquals('auth_code subject', $msg->getSubject()); + $this->assertContains('Hi Bob, here is the code: 666666 and the support: http://0.0.0.0', $msg->toString()); + } +} -- cgit v1.2.3