function UserMailNotifyTest::testUserMailHook

Tests the mail hook implementation from the user module.

File

core/modules/user/tests/src/Kernel/UserMailNotifyTest.php, line 193

Class

UserMailNotifyTest
Tests _user_mail_notify() use of user.settings.notify.*.

Namespace

Drupal\Tests\user\Kernel

Code

public function testUserMailHook() : void {
    $this->installConfig('user');
    $config = $this->config('system.site');
    $config->set('langcode', 'en');
    // Use a name that could trigger HTML entity replacements.
    // cspell:ignore L'Equipe de l'Agriculture
    $config->set('name', "L'Equipe de l'Agriculture")
        ->save();
    $hooks = new UserHooks();
    $user = $this->createUser();
    $message = [
        'langcode' => 'en',
        'subject' => 'Test subject: ',
    ];
    $hooks->mail('password_reset', $message, [
        'account' => $user,
    ]);
    $this->assertSame('Test subject: Replacement login information for ' . $user->label() . " at L'Equipe de l'Agriculture", $message['subject']);
    $this->assertStringContainsString("A request to reset the password for your account has been made at L'Equipe de l'Agriculture", $message['body'][0]);
    $this->assertStringContainsString("--  L'Equipe de l'Agriculture team", $message['body'][0]);
}

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