Loading src/EasyEmailStorage.php +1 −1 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ class EasyEmailStorage extends SqlContentEntityStorage implements EasyEmailStora * @inheritDoc */ public function getEmailTypeStorage() { return $this->entityManager->getStorage('easy_email_type'); return $this->entityTypeManager->getStorage('easy_email_type'); } /** Loading src/Entity/EasyEmail.php +5 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,11 @@ use Drupal\user\UserInterface; * "langcode" = "langcode", * "status" = "status", * }, * revision_metadata_keys = { * "revision_user" = "revision_user", * "revision_created" = "revision_created", * "revision_log_message" = "revision_log_message", * }, * links = { * "canonical" = "/admin/content/email/{easy_email}", * "preview" = "/admin/content/email/{easy_email}/preview", Loading tests/src/Functional/EasyEmailSendTest.php +56 −56 Original line number Diff line number Diff line Loading @@ -130,8 +130,8 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertEquals($site_config->get('mail'), $email['headers']['Sender']); $this->assertArrayNotHasKey('Reply-To', $email['headers']); $this->assertEquals('text/html; charset=UTF-8;', $email['headers']['Content-Type']); $this->assertContains('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertContains('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertStringContainsString('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertStringContainsString('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertEquals('Test email for ' . $user1->getDisplayName(), $email['subject']); $this->assertEquals(1, count($email['params']['files'])); $attachment = reset($email['params']['files']); Loading Loading @@ -267,8 +267,8 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertEquals($site_config->get('mail'), $email['headers']['Sender']); $this->assertArrayNotHasKey('Reply-To', $email['headers']); $this->assertEquals('text/html; charset=UTF-8;', $email['headers']['Content-Type']); $this->assertContains('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertContains('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertStringContainsString('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertStringContainsString('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertEquals('Test email for ' . $user1->getDisplayName(), $email['subject']); $this->assertEquals(1, count($email['params']['files'])); $attachment = reset($email['params']['files']); Loading Loading @@ -407,9 +407,9 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertEquals($site_config->get('mail'), $email['headers']['Sender']); $this->assertEquals('override-reply-to@example.com', $email['headers']['Reply-to']); $this->assertEquals('text/html; charset=UTF-8;', $email['headers']['Content-Type']); $this->assertContains('<p>This is the overridden HTML body for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertContains('This is the overridden inbox preview for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertContains('This is the overridden plain text body for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertStringContainsString('<p>This is the overridden HTML body for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertStringContainsString('This is the overridden inbox preview for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertStringContainsString('This is the overridden plain text body for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertEquals('Overridden subject for ' . $user1->getDisplayName(), $email['subject']); $this->assertEquals(2, count($email['params']['files'])); $attachment = array_shift($email['params']['files']); Loading Loading @@ -487,8 +487,8 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertEquals(1, count($emails)); $email = reset($emails); $this->assertEquals($template->id(), $email['key']); $this->assertContains('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertContains('This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertStringContainsString('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertStringContainsString('This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); } /** Loading Loading @@ -551,8 +551,8 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertEquals(1, count($emails)); $email = reset($emails); $this->assertEquals($template->id(), $email['key']); $this->assertNotContains('This is a test email (HTML) for user account', (string) $email['body']); $this->assertContains('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertStringNotContainsString('This is a test email (HTML) for user account', (string) $email['body']); $this->assertStringContainsString('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertArrayNotHasKey('plain', $email); } Loading Loading @@ -617,8 +617,8 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertEquals(1, count($emails)); $email = reset($emails); $this->assertEquals($template->id(), $email['key']); $this->assertNotContains('This is a test email (Plain Text) for user account', (string) $email['body']); $this->assertContains('This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertStringNotContainsString('This is a test email (Plain Text) for user account', (string) $email['body']); $this->assertStringContainsString('This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertArrayNotHasKey('plain', $email); } Loading Loading @@ -1312,26 +1312,26 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertArrayNotHasKey('Bcc', $email['headers']); // Should have standard tokens evaluated, but unsafe tokens always evaluated for the recipient user. $this->assertContains('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertContains('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['body']); $this->assertContains('/user/reset/' . $user1->id() . '/', (string) $email['body']); $this->assertNotContains('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['body']); $this->assertNotContains('/user/reset/' . $user4->id() . '/', (string) $email['body']); $this->assertNotContains('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['body']); $this->assertNotContains('/user/reset/' . $user2->id() . '/', (string) $email['body']); $this->assertNotContains('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['body']); $this->assertNotContains('/user/reset/' . $user3->id() . '/', (string) $email['body']); $this->assertContains('This is the inbox preview for user account ' . $user1->getDisplayName() . '.', (string) $email['body']); $this->assertContains('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertContains('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['body']); $this->assertContains('/user/reset/' . $user1->id() . '/', (string) $email['plain']); $this->assertNotContains('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertNotContains('/user/reset/' . $user4->id() . '/', (string) $email['plain']); $this->assertNotContains('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertNotContains('/user/reset/' . $user2->id() . '/', (string) $email['plain']); $this->assertNotContains('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertNotContains('/user/reset/' . $user3->id() . '/', (string) $email['plain']); $this->assertStringContainsString('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertStringContainsString('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringContainsString('/user/reset/' . $user1->id() . '/', (string) $email['body']); $this->assertStringNotContainsString('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringNotContainsString('/user/reset/' . $user4->id() . '/', (string) $email['body']); $this->assertStringNotContainsString('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringNotContainsString('/user/reset/' . $user2->id() . '/', (string) $email['body']); $this->assertStringNotContainsString('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringNotContainsString('/user/reset/' . $user3->id() . '/', (string) $email['body']); $this->assertStringContainsString('This is the inbox preview for user account ' . $user1->getDisplayName() . '.', (string) $email['body']); $this->assertStringContainsString('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertStringContainsString('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringContainsString('/user/reset/' . $user1->id() . '/', (string) $email['plain']); $this->assertStringNotContainsString('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertStringNotContainsString('/user/reset/' . $user4->id() . '/', (string) $email['plain']); $this->assertStringNotContainsString('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertStringNotContainsString('/user/reset/' . $user2->id() . '/', (string) $email['plain']); $this->assertStringNotContainsString('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertStringNotContainsString('/user/reset/' . $user3->id() . '/', (string) $email['plain']); // Unsafe tokens skipped in subject $this->assertEquals('Test email for ' . $user1->getDisplayName() . ': [easy_email:field_user:0:entity:cancel-url], [easy_email:field_cc_user:0:entity:one-time-login-url]', $email['subject']); Loading @@ -1347,26 +1347,26 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertArrayNotHasKey('Bcc', $email['headers']); // Should have standard tokens evaluated, but unsafe tokens always evaluated for the recipient user. $this->assertContains('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertContains('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['body']); $this->assertContains('/user/reset/' . $user4->id() . '/', (string) $email['body']); $this->assertNotContains('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['body']); $this->assertNotContains('/user/reset/' . $user1->id() . '/', (string) $email['body']); $this->assertNotContains('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['body']); $this->assertNotContains('/user/reset/' . $user2->id() . '/', (string) $email['body']); $this->assertNotContains('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['body']); $this->assertNotContains('/user/reset/' . $user3->id() . '/', (string) $email['body']); $this->assertContains('This is the inbox preview for user account ' . $user1->getDisplayName() . '.', (string) $email['body']); $this->assertContains('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertContains('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['body']); $this->assertContains('/user/reset/' . $user4->id() . '/', (string) $email['plain']); $this->assertNotContains('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertNotContains('/user/reset/' . $user1->id() . '/', (string) $email['plain']); $this->assertNotContains('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertNotContains('/user/reset/' . $user2->id() . '/', (string) $email['plain']); $this->assertNotContains('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertNotContains('/user/reset/' . $user3->id() . '/', (string) $email['plain']); $this->assertStringContainsString('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertStringContainsString('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringContainsString('/user/reset/' . $user4->id() . '/', (string) $email['body']); $this->assertStringNotContainsString('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringNotContainsString('/user/reset/' . $user1->id() . '/', (string) $email['body']); $this->assertStringNotContainsString('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringNotContainsString('/user/reset/' . $user2->id() . '/', (string) $email['body']); $this->assertStringNotContainsString('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringNotContainsString('/user/reset/' . $user3->id() . '/', (string) $email['body']); $this->assertStringContainsString('This is the inbox preview for user account ' . $user1->getDisplayName() . '.', (string) $email['body']); $this->assertStringContainsString('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertStringContainsString('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringContainsString('/user/reset/' . $user4->id() . '/', (string) $email['plain']); $this->assertStringNotContainsString('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertStringNotContainsString('/user/reset/' . $user1->id() . '/', (string) $email['plain']); $this->assertStringNotContainsString('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertStringNotContainsString('/user/reset/' . $user2->id() . '/', (string) $email['plain']); $this->assertStringNotContainsString('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertStringNotContainsString('/user/reset/' . $user3->id() . '/', (string) $email['plain']); // Unsafe tokens skipped in subject $this->assertEquals('Test email for ' . $user1->getDisplayName() . ': [easy_email:field_user:0:entity:cancel-url], [easy_email:field_cc_user:0:entity:one-time-login-url]', $email['subject']); Loading Loading @@ -1427,7 +1427,7 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertSession()->pageTextNotContains('Created new email.'); $this->assertSession()->pageTextNotContains('Email sent.'); $this->assertSession()->pageTextContains('Email matching unique key already exists.'); $this->assertContains('/admin/content/email/add/' . $template->id(), $this->getSession()->getCurrentUrl()); $this->assertSession()->addressEquals('admin/content/email/add/' . $template->id()); $emails = $this->getSentEmails([]); $this->assertEquals(1, count($emails)); Loading Loading @@ -1486,7 +1486,7 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertSession()->pageTextContains('Created new email.'); $this->assertSession()->pageTextContains('Email sent.');; $this->assertSession()->pageTextNotContains('Email matching unique key already exists.'); $this->assertNotContains('/admin/content/email/add/' . $template->id(), $this->getSession()->getCurrentUrl()); $this->assertSession()->addressNotEquals('admin/content/email/add/' . $template->id()); $emails = $this->getSentEmails([]); $this->assertEquals(2, count($emails)); Loading Loading @@ -1546,7 +1546,7 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertSession()->pageTextContains('Created new email.'); $this->assertSession()->pageTextContains('Email sent.');; $this->assertSession()->pageTextNotContains('Email matching unique key already exists.'); $this->assertNotContains('/admin/content/email/add/' . $template->id(), $this->getSession()->getCurrentUrl()); $this->assertSession()->addressNotEquals('admin/content/email/add/' . $template->id()); $emails = $this->getSentEmails([]); $this->assertEquals(2, count($emails)); Loading tests/src/Functional/EasyEmailTestBase.php +2 −1 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ abstract class EasyEmailTestBase extends BrowserTestBase { 'formatter' => 'swiftmailer', ])->save(); $this->config('mailsystem.settings')->set('modules', [])->save(); $this->config('swiftmailer.message')->set('generate_plain', FALSE)->save(); $this->adminUser = $this->drupalCreateUser($this->getAdministratorPermissions()); $this->drupalLogin($this->adminUser); Loading Loading
src/EasyEmailStorage.php +1 −1 Original line number Diff line number Diff line Loading @@ -85,7 +85,7 @@ class EasyEmailStorage extends SqlContentEntityStorage implements EasyEmailStora * @inheritDoc */ public function getEmailTypeStorage() { return $this->entityManager->getStorage('easy_email_type'); return $this->entityTypeManager->getStorage('easy_email_type'); } /** Loading
src/Entity/EasyEmail.php +5 −0 Original line number Diff line number Diff line Loading @@ -55,6 +55,11 @@ use Drupal\user\UserInterface; * "langcode" = "langcode", * "status" = "status", * }, * revision_metadata_keys = { * "revision_user" = "revision_user", * "revision_created" = "revision_created", * "revision_log_message" = "revision_log_message", * }, * links = { * "canonical" = "/admin/content/email/{easy_email}", * "preview" = "/admin/content/email/{easy_email}/preview", Loading
tests/src/Functional/EasyEmailSendTest.php +56 −56 Original line number Diff line number Diff line Loading @@ -130,8 +130,8 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertEquals($site_config->get('mail'), $email['headers']['Sender']); $this->assertArrayNotHasKey('Reply-To', $email['headers']); $this->assertEquals('text/html; charset=UTF-8;', $email['headers']['Content-Type']); $this->assertContains('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertContains('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertStringContainsString('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertStringContainsString('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertEquals('Test email for ' . $user1->getDisplayName(), $email['subject']); $this->assertEquals(1, count($email['params']['files'])); $attachment = reset($email['params']['files']); Loading Loading @@ -267,8 +267,8 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertEquals($site_config->get('mail'), $email['headers']['Sender']); $this->assertArrayNotHasKey('Reply-To', $email['headers']); $this->assertEquals('text/html; charset=UTF-8;', $email['headers']['Content-Type']); $this->assertContains('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertContains('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertStringContainsString('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertStringContainsString('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertEquals('Test email for ' . $user1->getDisplayName(), $email['subject']); $this->assertEquals(1, count($email['params']['files'])); $attachment = reset($email['params']['files']); Loading Loading @@ -407,9 +407,9 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertEquals($site_config->get('mail'), $email['headers']['Sender']); $this->assertEquals('override-reply-to@example.com', $email['headers']['Reply-to']); $this->assertEquals('text/html; charset=UTF-8;', $email['headers']['Content-Type']); $this->assertContains('<p>This is the overridden HTML body for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertContains('This is the overridden inbox preview for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertContains('This is the overridden plain text body for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertStringContainsString('<p>This is the overridden HTML body for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertStringContainsString('This is the overridden inbox preview for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertStringContainsString('This is the overridden plain text body for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertEquals('Overridden subject for ' . $user1->getDisplayName(), $email['subject']); $this->assertEquals(2, count($email['params']['files'])); $attachment = array_shift($email['params']['files']); Loading Loading @@ -487,8 +487,8 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertEquals(1, count($emails)); $email = reset($emails); $this->assertEquals($template->id(), $email['key']); $this->assertContains('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertContains('This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertStringContainsString('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.</p>', (string) $email['body']); $this->assertStringContainsString('This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); } /** Loading Loading @@ -551,8 +551,8 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertEquals(1, count($emails)); $email = reset($emails); $this->assertEquals($template->id(), $email['key']); $this->assertNotContains('This is a test email (HTML) for user account', (string) $email['body']); $this->assertContains('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertStringNotContainsString('This is a test email (HTML) for user account', (string) $email['body']); $this->assertStringContainsString('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertArrayNotHasKey('plain', $email); } Loading Loading @@ -617,8 +617,8 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertEquals(1, count($emails)); $email = reset($emails); $this->assertEquals($template->id(), $email['key']); $this->assertNotContains('This is a test email (Plain Text) for user account', (string) $email['body']); $this->assertContains('This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertStringNotContainsString('This is a test email (Plain Text) for user account', (string) $email['body']); $this->assertStringContainsString('This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertArrayNotHasKey('plain', $email); } Loading Loading @@ -1312,26 +1312,26 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertArrayNotHasKey('Bcc', $email['headers']); // Should have standard tokens evaluated, but unsafe tokens always evaluated for the recipient user. $this->assertContains('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertContains('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['body']); $this->assertContains('/user/reset/' . $user1->id() . '/', (string) $email['body']); $this->assertNotContains('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['body']); $this->assertNotContains('/user/reset/' . $user4->id() . '/', (string) $email['body']); $this->assertNotContains('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['body']); $this->assertNotContains('/user/reset/' . $user2->id() . '/', (string) $email['body']); $this->assertNotContains('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['body']); $this->assertNotContains('/user/reset/' . $user3->id() . '/', (string) $email['body']); $this->assertContains('This is the inbox preview for user account ' . $user1->getDisplayName() . '.', (string) $email['body']); $this->assertContains('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertContains('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['body']); $this->assertContains('/user/reset/' . $user1->id() . '/', (string) $email['plain']); $this->assertNotContains('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertNotContains('/user/reset/' . $user4->id() . '/', (string) $email['plain']); $this->assertNotContains('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertNotContains('/user/reset/' . $user2->id() . '/', (string) $email['plain']); $this->assertNotContains('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertNotContains('/user/reset/' . $user3->id() . '/', (string) $email['plain']); $this->assertStringContainsString('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertStringContainsString('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringContainsString('/user/reset/' . $user1->id() . '/', (string) $email['body']); $this->assertStringNotContainsString('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringNotContainsString('/user/reset/' . $user4->id() . '/', (string) $email['body']); $this->assertStringNotContainsString('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringNotContainsString('/user/reset/' . $user2->id() . '/', (string) $email['body']); $this->assertStringNotContainsString('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringNotContainsString('/user/reset/' . $user3->id() . '/', (string) $email['body']); $this->assertStringContainsString('This is the inbox preview for user account ' . $user1->getDisplayName() . '.', (string) $email['body']); $this->assertStringContainsString('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertStringContainsString('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringContainsString('/user/reset/' . $user1->id() . '/', (string) $email['plain']); $this->assertStringNotContainsString('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertStringNotContainsString('/user/reset/' . $user4->id() . '/', (string) $email['plain']); $this->assertStringNotContainsString('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertStringNotContainsString('/user/reset/' . $user2->id() . '/', (string) $email['plain']); $this->assertStringNotContainsString('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertStringNotContainsString('/user/reset/' . $user3->id() . '/', (string) $email['plain']); // Unsafe tokens skipped in subject $this->assertEquals('Test email for ' . $user1->getDisplayName() . ': [easy_email:field_user:0:entity:cancel-url], [easy_email:field_cc_user:0:entity:one-time-login-url]', $email['subject']); Loading @@ -1347,26 +1347,26 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertArrayNotHasKey('Bcc', $email['headers']); // Should have standard tokens evaluated, but unsafe tokens always evaluated for the recipient user. $this->assertContains('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertContains('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['body']); $this->assertContains('/user/reset/' . $user4->id() . '/', (string) $email['body']); $this->assertNotContains('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['body']); $this->assertNotContains('/user/reset/' . $user1->id() . '/', (string) $email['body']); $this->assertNotContains('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['body']); $this->assertNotContains('/user/reset/' . $user2->id() . '/', (string) $email['body']); $this->assertNotContains('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['body']); $this->assertNotContains('/user/reset/' . $user3->id() . '/', (string) $email['body']); $this->assertContains('This is the inbox preview for user account ' . $user1->getDisplayName() . '.', (string) $email['body']); $this->assertContains('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertContains('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['body']); $this->assertContains('/user/reset/' . $user4->id() . '/', (string) $email['plain']); $this->assertNotContains('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertNotContains('/user/reset/' . $user1->id() . '/', (string) $email['plain']); $this->assertNotContains('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertNotContains('/user/reset/' . $user2->id() . '/', (string) $email['plain']); $this->assertNotContains('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertNotContains('/user/reset/' . $user3->id() . '/', (string) $email['plain']); $this->assertStringContainsString('<p>This is a test email (HTML) for user account ' . $user1->getAccountName() . '.', (string) $email['body']); $this->assertStringContainsString('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringContainsString('/user/reset/' . $user4->id() . '/', (string) $email['body']); $this->assertStringNotContainsString('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringNotContainsString('/user/reset/' . $user1->id() . '/', (string) $email['body']); $this->assertStringNotContainsString('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringNotContainsString('/user/reset/' . $user2->id() . '/', (string) $email['body']); $this->assertStringNotContainsString('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringNotContainsString('/user/reset/' . $user3->id() . '/', (string) $email['body']); $this->assertStringContainsString('This is the inbox preview for user account ' . $user1->getDisplayName() . '.', (string) $email['body']); $this->assertStringContainsString('This is a test email (Plain Text) for user account ' . $user1->getAccountName() . '.', (string) $email['plain']); $this->assertStringContainsString('/user/' . $user4->id() . '/cancel/confirm/', (string) $email['body']); $this->assertStringContainsString('/user/reset/' . $user4->id() . '/', (string) $email['plain']); $this->assertStringNotContainsString('/user/' . $user1->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertStringNotContainsString('/user/reset/' . $user1->id() . '/', (string) $email['plain']); $this->assertStringNotContainsString('/user/' . $user2->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertStringNotContainsString('/user/reset/' . $user2->id() . '/', (string) $email['plain']); $this->assertStringNotContainsString('/user/' . $user3->id() . '/cancel/confirm/', (string) $email['plain']); $this->assertStringNotContainsString('/user/reset/' . $user3->id() . '/', (string) $email['plain']); // Unsafe tokens skipped in subject $this->assertEquals('Test email for ' . $user1->getDisplayName() . ': [easy_email:field_user:0:entity:cancel-url], [easy_email:field_cc_user:0:entity:one-time-login-url]', $email['subject']); Loading Loading @@ -1427,7 +1427,7 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertSession()->pageTextNotContains('Created new email.'); $this->assertSession()->pageTextNotContains('Email sent.'); $this->assertSession()->pageTextContains('Email matching unique key already exists.'); $this->assertContains('/admin/content/email/add/' . $template->id(), $this->getSession()->getCurrentUrl()); $this->assertSession()->addressEquals('admin/content/email/add/' . $template->id()); $emails = $this->getSentEmails([]); $this->assertEquals(1, count($emails)); Loading Loading @@ -1486,7 +1486,7 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertSession()->pageTextContains('Created new email.'); $this->assertSession()->pageTextContains('Email sent.');; $this->assertSession()->pageTextNotContains('Email matching unique key already exists.'); $this->assertNotContains('/admin/content/email/add/' . $template->id(), $this->getSession()->getCurrentUrl()); $this->assertSession()->addressNotEquals('admin/content/email/add/' . $template->id()); $emails = $this->getSentEmails([]); $this->assertEquals(2, count($emails)); Loading Loading @@ -1546,7 +1546,7 @@ class EasyEmailSendTest extends EasyEmailTestBase { $this->assertSession()->pageTextContains('Created new email.'); $this->assertSession()->pageTextContains('Email sent.');; $this->assertSession()->pageTextNotContains('Email matching unique key already exists.'); $this->assertNotContains('/admin/content/email/add/' . $template->id(), $this->getSession()->getCurrentUrl()); $this->assertSession()->addressNotEquals('admin/content/email/add/' . $template->id()); $emails = $this->getSentEmails([]); $this->assertEquals(2, count($emails)); Loading
tests/src/Functional/EasyEmailTestBase.php +2 −1 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ abstract class EasyEmailTestBase extends BrowserTestBase { 'formatter' => 'swiftmailer', ])->save(); $this->config('mailsystem.settings')->set('modules', [])->save(); $this->config('swiftmailer.message')->set('generate_plain', FALSE)->save(); $this->adminUser = $this->drupalCreateUser($this->getAdministratorPermissions()); $this->drupalLogin($this->adminUser); Loading