trait MailerCaptureTrait

Provides methods for testing emails sent during test runs.

Hierarchy

See also

\Drupal\mailer_capture\Transport\CaptureTransport

1 file declares its use of MailerCaptureTrait
MailerCaptureTest.php in core/modules/mailer/tests/src/Functional/MailerCaptureTest.php

File

core/lib/Drupal/Core/Test/MailerCaptureTrait.php, line 16

Namespace

Drupal\Core\Test
View source
trait MailerCaptureTrait {
  
  /**
   * Gets an array containing all emails sent during this test case.
   *
   * @return \Symfony\Component\Mime\Email[]
   *   An array containing email messages captured during the current test.
   */
  protected function getEmails() : array {
    $messages = array_map(fn(SentMessage $m) => $m->getOriginalMessage(), $this->getCapturedMessages());
    return array_filter($messages, fn(RawMessage $m) => $m instanceof Email);
  }
  
  /**
   * Gets an array containing all messages sent during this test case.
   *
   * @return \Symfony\Component\Mailer\SentMessage[]
   *   An array containing messages captured during the current test.
   */
  protected function getCapturedMessages() : array {
    return \Drupal::keyValue('mailer_capture')->get('messages', []);
  }
  
  /**
   * Clears all messages sent during this test case.
   */
  protected function clearCapturedMessages() : void {
    \Drupal::keyValue('mailer_capture')->delete('messages');
  }

}

Members

Title Sort descending Modifiers Object type Summary
MailerCaptureTrait::clearCapturedMessages protected function Clears all messages sent during this test case.
MailerCaptureTrait::getCapturedMessages protected function Gets an array containing all messages sent during this test case.
MailerCaptureTrait::getEmails protected function Gets an array containing all emails sent during this test case.

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