getConnection()->getConnection()->query('set foreign_key_checks=0'); parent::setUp(); $this->getConnection()->getConnection()->query('set foreign_key_checks=1'); $this->mailArchive = $this->get(MailArchive::class); $this->email = $this->get(Email::class); } public function testMailHeaderFooter() { $order = new \Order(); $order->createFromDB(1); $order->sendEmail('testik', null); $email = $this->mailArchive->getLast(); $this->assertContains('testik', $email['body']); $this->assertContains('Vážený zákazníku', $email['body']); $this->assertContains('Hezký den.', $email['body']); } public function testMailHeaderFooterInLanguage() { $order = new \Order(); $order->createFromDB(1); $order->id_language = 'sk'; $order->sendEmail('testik', null); $email = $this->mailArchive->getLast(); $this->assertContains('testik', $email['body']); $this->assertContains('Dobrý deň,', $email['body']); $this->assertContains('Pekný deň praje', $email['body']); } public function testGetOrderMessages() { $messagesCZ = $this->email->getOrderMessages(); $this->switchLanguage(); $messagesSK = $this->email->getOrderMessages(); $this->assertNotSame($messagesCZ[0], $messagesSK[0]); } public function testSmtpChooser() { /** @var EmailSender $emailSender */ $emailSender = $this->get(EmailSender::class); $smtpSettings = [ [ 'host' => 'mail1.wpj.cz', 'enabled' => true, 'allowed_senders' => 'test@wpj.cz', ], [ 'host' => 'mail2.wpj.cz', 'enabled' => true, 'allowed_senders' => 'joe@wpj.cz', ], [ 'host' => 'mail3.wpj.cz', 'enabled' => true, 'allowed_senders' => 'joe@wpj.cz', ], ]; $smtp = $emailSender->getSMTP($smtpSettings, 'joe@wpj.cz'); $this->assertTrue(in_array($smtp['host'], ['mail2.wpj.cz', 'mail3.wpj.cz'])); $smtp = $emailSender->getSMTP($smtpSettings, 'neco@wpj.cz'); $this->assertTrue(in_array($smtp['host'], ['mail1.wpj.cz'])); $smtp = $emailSender->getSMTP($smtpSettings, 'test@wpj.cz'); $this->assertTrue(in_array($smtp['host'], ['mail1.wpj.cz'])); } protected function getDataSet() { return $this->getJsonDataSet(/* @lang JSON */ ' { "languages": [ { "id":"cs", "name":"slovenština", "locale":"sk_SK", "translate":1 }, { "id":"sk", "name":"slovenština", "locale":"sk_SK", "translate":1 } ], "emails": [ { "id":7, "order_status":null, "type":"BASIC_TEMPLATE", "position":null, "body":"
Vážený zákazníku,
{EMAIL}
Hezký den.
\r\nTým Chillisport.cz
stav Vaší objednávky číslo {KOD} byl změněn na {STAV}{KOMENTAR}.
Vaši objednávku zpracováváme a o její expedici Vás budeme informovat v dalším emailu.
", "subject":"Chillisport.cz - změna objednávky {KOD}", "name":"", "email":"", "sms":null }, { "id":9, "order_status":null, "type":"ORDER_MESSAGE", "position":null, "body":"stav Vaší objednávky číslo {KOD} byl změněn na {STAV}{KOMENTAR}.
Vaši objednávku zpracováváme a o její expedici Vás budeme informovat v dalším emailu.
", "subject":"Chillisport.cz - změna objednávky {KOD}", "name":"", "email":"", "sms":null } ], "emails_translations": [ { "id":3, "id_email":7, "id_language":"sk", "id_admin":null, "created":"2017-09-27 16:53:38", "updated":null, "subject":null, "body":"Dobrý deň,
\n\n{EMAIL}
\n\nPekný deň praje.
\nTím Chillisport.sk
stav Vašej objednávky číslo {KÓD} bol zmenený na {STAV} {KOMENTAR}.
\n\nVašu objednávku spracovávame a o jej expedícii Vás budeme informovať v ďalšom emailu.
\n", "email":null, "sms":null }, { "id":6, "id_email":9, "id_language":"sk", "id_admin":5, "created":"2017-09-27 18:40:12", "updated":"2017-10-06 11:25:14", "subject":"Chillisport.sk - zmena objednávky č. {KOD}", "body":"stav Vašej objednávky číslo {KÓD} bol zmenený na {STAV} {KOMENTAR}.
\n\nVašu objednávku spracovávame a o jej expedícii Vás budeme informovať v ďalšom emailu.
\n", "email":null, "sms":null } ] } '); } }