eml = $this->make('e107Email'); } catch(Exception $e) { $this->fail("Couldn't load e107Email object"); } $this->eml->__construct(); $this->eml->Mailer = "smtp"; } /* public function testAllSent() { } public function testProcessShortcodes() { } */ public function testArraySet() { $eml = array( 'subject' => "[URGENT EXAMPLE]", 'sender_email' => "noreply@test.com", 'sender_name' => "Test Person", 'replyto' => "", 'html' => true, 'priority' => 1, 'template' => 'default', 'body' => "This is the body text", 'cc' => '' ); $this->eml->arraySet($eml); $this->assertStringContainsString("noreply@test.com", $this->eml->From); $this->assertStringContainsString("Test Person", $this->eml->FromName); $this->assertStringContainsString("e107: [URGENT EXAMPLE] ", $this->eml->Subject); $this->assertStringContainsString("This is the body text", $this->eml->Body); $this->assertStringContainsString("

eml->Body); } /** * Test using a custom template passed directly. * @return void */ public function testArraySetInlineTemplate() { $eml = array( 'subject' => "[CUSTOM TEMPLATE EXAMPLE]", 'sender_email' => "noreply@test.com", 'sender_name' => "Test Person", 'replyto' => "", 'html' => true, 'priority' => 1, 'template' => ['subject'=>'{SUBJECT}', 'header'=>'', 'body'=>'
{NAME} {DATE}
{BODY}
', 'footer'=>''], 'body' => "This is the body text", 'cc' => '', 'shortcodes' => [ 'NAME' => "TestName", 'DATE' => 'Jan 1st, 2020' ], ); $this->eml->arraySet($eml); $this->assertStringContainsString("noreply@test.com", $this->eml->From); $this->assertStringContainsString("Test Person", $this->eml->FromName); $this->assertStringContainsString("[CUSTOM TEMPLATE EXAMPLE]", $this->eml->Subject); $this->assertStringContainsString('', $this->eml->Body); $this->assertStringContainsString('
TestName Jan 1st, 2020
This is the body text
', $this->eml->Body); $this->assertStringNotContainsString('{MEDIA1}', $this->eml->Body); } /** * Test using an email template from e107_plugins/_blank/templates/_blank_template.php * @return void */ public function testArraySetPluginTemplate() { $eml = array( 'subject' => "[PLUGIN TEMPLATE EXAMPLE]", 'sender_email' => "noreply@test.com", 'sender_name' => "Test Person", 'replyto' => "", 'html' => true, 'priority' => 1, 'template' => ['plugin'=>'_blank', 'name'=>'_blank', 'key'=>'email'], 'body' => "This is the body text", 'cc' => '', 'shortcodes' => [ 'NAME' => "TestName", 'DATE' => 'Jan 1st, 2020' ], ); $this->eml->arraySet($eml); $this->assertStringContainsString("noreply@test.com", $this->eml->From); $this->assertStringContainsString("Test Person", $this->eml->FromName); $this->assertStringContainsString("[PLUGIN TEMPLATE EXAMPLE]", $this->eml->Subject); $this->assertStringContainsString('', $this->eml->Body); $this->assertStringContainsString('
TestName Jan 1st, 2020
This is the body text
', $this->eml->Body); $this->assertStringNotContainsString('{MEDIA1}', $this->eml->Body); } public function testArraySetNotifyTemplate() { $eml = array( 'subject' => "[URGENT EXAMPLE]", 'sender_email' => "noreply@test.com", 'sender_name' => "Test Person", 'replyto' => "", 'html' => true, 'priority' => 1, 'template' => 'notify', 'body' => "This is the body text", 'cc' => '' ); $this->eml->arraySet($eml); $this->assertStringContainsString("noreply@test.com", $this->eml->From); $this->assertStringContainsString("Test Person", $this->eml->FromName); $this->assertStringContainsString("e107: [URGENT EXAMPLE] ", $this->eml->Subject); $this->assertStringContainsString("This is the body text", $this->eml->Body); $this->assertStringContainsString("
", $this->eml->Body); $this->assertStringNotContainsString('{MEDIA1}', $this->eml->Body); } /* public function testMakePrintableAddress() { } public function testAddInlineImages() { } */ public function testMsgHTML() { $html = "\n Hi Joe
Check out
https://e107.org

Thanks,
Admin

Website:https://e107.org
Github:https://github.com/e107inc/
"; $this->eml->MsgHTML($html); $result = json_encode($this->eml->AltBody); $expected = '"Hi Joe\r\nCheck out https:\/\/e107.org\r\n\r\nThanks,\r\nAdmin\r\n\r\nWebsite:\thttps:\/\/e107.org\t\r\nGithub:\thttps:\/\/github.com\/e107inc\/"'; $this->assertSame($expected, $result); } /* public function testSendEmail() { $eml = array( 'subject' => "[URGENT EXAMPLE] ", 'sender_email' => "noreply@test.com", 'sender_name' => "Test", 'replyto' => "", 'html' => true, 'priority' => 1, 'template' => 'default', 'body' => "This is the body text", 'cc' => '' ); $this->eml->sendEmail('test@nowhere.com',"This is the subject", $eml); } public function testSetDebug() { } public function testAddAddressList() { } public function testAttach() { } public function testMakeBody() { } */ function testSentMimeMessage() { $eml = array( 'subject' => "[PREVIEW]", 'sender_email' => "noreply@test.com", 'sender_name' => "Test Person", 'replyto' => "someone@else.com", 'html' => true, 'priority' => 1, // 'template' => 'default', 'body' => "Hi,
This is the body text", 'cc' => '', 'shortcodes' => [ 'NAME' => "TestName", 'DATE' => 'Jan 1st, 2020' ], ); $this->eml->arraySet($eml); $this->eml->AddAddressList('to','recipient@example.com',"Example Recipient"); $this->eml->preSend(); $result = $this->eml->getSentMIMEMessage(); $this->assertStringContainsString('Content-Type: text/plain;', $result); $this->assertStringContainsString('This is the body text', $result); $this->assertStringContainsString('Content-Type: text/html;', $result); $this->assertStringContainsString('Hi,
This is the body text', $result); } }