You are here

protected function UserPasswordResetTest::setUp in Drupal 9

Same name in this branch
  1. 9 core/modules/user/tests/src/Functional/UserPasswordResetTest.php \Drupal\Tests\user\Functional\UserPasswordResetTest::setUp()
  2. 9 core/modules/user/tests/src/FunctionalJavascript/UserPasswordResetTest.php \Drupal\Tests\user\FunctionalJavascript\UserPasswordResetTest::setUp()
Same name and namespace in other branches
  1. 8 core/modules/user/tests/src/Functional/UserPasswordResetTest.php \Drupal\Tests\user\Functional\UserPasswordResetTest::setUp()

Overrides BrowserTestBase::setUp

File

core/modules/user/tests/src/Functional/UserPasswordResetTest.php, line 53

Class

UserPasswordResetTest
Ensure that password reset methods work as expected.

Namespace

Drupal\Tests\user\Functional

Code

protected function setUp() : void {
  parent::setUp();

  // Enable page caching.
  $config = $this
    ->config('system.performance');
  $config
    ->set('cache.page.max_age', 3600);
  $config
    ->save();
  $this
    ->drupalPlaceBlock('system_menu_block:account');

  // Create a user.
  $account = $this
    ->drupalCreateUser();

  // Activate user by logging in.
  $this
    ->drupalLogin($account);
  $this->account = User::load($account
    ->id());
  $this->account->passRaw = $account->passRaw;
  $this
    ->drupalLogout();

  // Set the last login time that is used to generate the one-time link so
  // that it is definitely over a second ago.
  $account->login = REQUEST_TIME - mt_rand(10, 100000);
  Database::getConnection()
    ->update('users_field_data')
    ->fields([
    'login' => $account
      ->getLastLoginTime(),
  ])
    ->condition('uid', $account
    ->id())
    ->execute();
}