function MailManagerTest::testGetInstance

Same name 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 @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.