function MailerCaptureTest::testMailCaptureChild

Tests collecting mail sent in the child site.

File

core/modules/mailer/tests/src/Functional/MailerCaptureTest.php, line 74

Class

MailerCaptureTest
Tests capturing of emails when mailer_capture module is installed.

Namespace

Drupal\Tests\mailer\Functional

Code

public function testMailCaptureChild() : void {
  // Before we send the email, getEmails should return an empty array.
  $capturedEmails = $this->getEmails();
  $this->assertCount(0, $capturedEmails, 'The captured emails queue is empty.');
  $this->drupalGet('/mailer-capture-test/send-mail');
  $this->submitForm([], 'Send Mail');
  // Ensure that there is one email in the captured emails array.
  $capturedEmails = $this->getEmails();
  $this->assertCount(1, $capturedEmails, 'One email was captured.');
  $this->assertEquals([
    new Address('admin@localhost.localdomain'),
  ], $capturedEmails[0]->getFrom());
  $this->assertEquals([
    new Address('test@localhost.localdomain'),
  ], $capturedEmails[0]->getTo());
  $this->assertEquals('Test message', $capturedEmails[0]->getSubject());
  $this->assertEquals('Hello test runner!', (string) $capturedEmails[0]->getTextBody());
  $this->clearCapturedMessages();
  $capturedEmails = $this->getEmails();
  $this->assertCount(0, $capturedEmails, 'The captured emails queue is empty.');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.