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.