You are here

public function MailManagerTest::testGetInstance in Drupal 10

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Core/Mail/MailManagerTest.php \Drupal\Tests\Core\Mail\MailManagerTest::testGetInstance()
  2. 9 core/tests/Drupal/Tests/Core/Mail/MailManagerTest.php \Drupal\Tests\Core\Mail\MailManagerTest::testGetInstance()

Tests the getInstance method.

@covers ::getInstance

File

core/tests/Drupal/Tests/Core/Mail/MailManagerTest.php, line 129
Contains \Drupal\Tests\Core\Mail\MailManagerTest.

Class

MailManagerTest
@coversDefaultClass \Drupal\Core\Mail\MailManager @group Mail

Namespace

Drupal\Tests\Core\Mail

Code

public function testGetInstance() {
  $interface = [
    'default' => 'php_mail',
    'example_testkey' => 'test_mail_collector',
  ];
  $this
    ->setUpMailManager($interface);

  // Test that an unmatched message_id returns the default plugin instance.
  $options = [
    'module' => 'foo',
    'key' => 'bar',
  ];
  $instance = $this->mailManager
    ->getInstance($options);
  $this
    ->assertInstanceOf('Drupal\\Core\\Mail\\Plugin\\Mail\\PhpMail', $instance);

  // Test that a matching message_id returns the specified plugin instance.
  $options = [
    'module' => 'example',
    'key' => 'testkey',
  ];
  $instance = $this->mailManager
    ->getInstance($options);
  $this
    ->assertInstanceOf('Drupal\\Core\\Mail\\Plugin\\Mail\\TestMailCollector', $instance);
}