function DevelMailLogTest::testDevelMailLogMultipleBackend

Tests devel_mail_log plugin with multiple mail backend.

File

tests/src/Kernel/DevelMailLogTest.php, line 62

Class

DevelMailLogTest
Tests sending mails with debug interface.

Namespace

Drupal\Tests\devel\Kernel

Code

public function testDevelMailLogMultipleBackend() : void {
  // Configure test_mail_collector as default mail backend.
  $this->config('system.mail')
    ->set('interface.default', 'test_mail_collector')
    ->save();
  // Configure devel_mail_log as a module-specific mail backend.
  $this->config('system.mail')
    ->set('interface.somemodule', 'devel_mail_log')
    ->save();
  // Ensures that devel_mail_log is not the default mail plugin.
  $mail_backend = $this->mailManager
    ->getInstance([
    'module' => 'default',
    'key' => 'default',
  ]);
  $this->assertInstanceOf(TestMailCollector::class, $mail_backend);
  // Ensures that devel_mail_log is used as mail backend only for the
  // specified module.
  $mail_backend = $this->mailManager
    ->getInstance([
    'module' => 'somemodule',
    'key' => 'default',
  ]);
  $this->assertInstanceOf(DevelMailLog::class, $mail_backend);
}