You are here

public function UserAuthTest::testAuthenticateWithCorrectPasswordAndNewPasswordHash in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/user/tests/src/Unit/UserAuthTest.php \Drupal\Tests\user\Unit\UserAuthTest::testAuthenticateWithCorrectPasswordAndNewPasswordHash()

Tests the authenticate method with a correct password and new password hash.

@covers ::authenticate

File

core/modules/user/tests/src/Unit/UserAuthTest.php, line 196

Class

UserAuthTest
@coversDefaultClass \Drupal\user\UserAuth @group user

Namespace

Drupal\Tests\user\Unit

Code

public function testAuthenticateWithCorrectPasswordAndNewPasswordHash() {
  $this->testUser
    ->expects($this
    ->once())
    ->method('id')
    ->will($this
    ->returnValue(1));
  $this->testUser
    ->expects($this
    ->once())
    ->method('setPassword')
    ->with($this->password);
  $this->testUser
    ->expects($this
    ->once())
    ->method('save');
  $this->userStorage
    ->expects($this
    ->once())
    ->method('loadByProperties')
    ->with([
    'name' => $this->username,
  ])
    ->will($this
    ->returnValue([
    $this->testUser,
  ]));
  $this->passwordService
    ->expects($this
    ->once())
    ->method('check')
    ->with($this->password, $this->testUser
    ->getPassword())
    ->will($this
    ->returnValue(TRUE));
  $this->passwordService
    ->expects($this
    ->once())
    ->method('needsRehash')
    ->with($this->testUser
    ->getPassword())
    ->will($this
    ->returnValue(TRUE));
  $this
    ->assertsame(1, $this->userAuth
    ->authenticate($this->username, $this->password));
}