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

", "subject":"", "name":"", "email":"info@chillisport.cz", "sms":null }, { "id":8, "order_status":null, "type":"ORDER_STATUS_CHANGE", "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 }, { "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\n

Pekný deň praje.
\nTím Chillisport.sk 

\n", "email":null, "sms":null }, { "id":5, "id_email":8, "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\n

Vaš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\n

Vašu objednávku spracovávame a o jej expedícii Vás budeme informovať v ďalšom emailu.

\n", "email":null, "sms":null } ] } '); } }