function MailManagerTest::testGetInstance

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Mail/MailManagerTest.php \Drupal\Tests\Core\Mail\MailManagerTest::testGetInstance()
  2. 8.9.x core/tests/Drupal/Tests/Core/Mail/MailManagerTest.php \Drupal\Tests\Core\Mail\MailManagerTest::testGetInstance()
  3. 11.x 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 157

Class

MailManagerTest
@coversDefaultClass \Drupal\Core\Mail\MailManager[[api-linebreak]] @group Mail

Namespace

Drupal\Tests\Core\Mail

Code

public function testGetInstance() : void {
  $interface = [
    'default' => 'php_mail',
    'example_test_key' => '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' => 'test_key',
  ];
  $instance = $this->mailManager
    ->getInstance($options);
  $this->assertInstanceOf('Drupal\\Core\\Mail\\Plugin\\Mail\\TestMailCollector', $instance);
}

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