function LoginFinalizerTest::testLogin

Tests login.

File

core/modules/user/tests/src/Kernel/LoginFinalizerTest.php, line 53

Class

LoginFinalizerTest
Tests login finalization.

Namespace

Drupal\Tests\user\Kernel

Code

public function testLogin() : void {
  // Create a user.
  $user = $this->createUser();
  // Get the session.
  $session = $this->container
    ->get('request_stack')
    ->getSession();
  // Assert no user is logged in.
  $this->assertFalse($session->has('uid'));
  // Handle the login.
  $finalize = $this->container
    ->get(LoginFinalizer::class);
  $finalize->finalizeLogin($user);
  // Assert our user is logged in.
  $this->assertEquals($user->id(), $session->get('uid'));
  $this->assertTrue($session->get('check_logged_in'));
  // Assert last login time is set.
  $user = User::load($user->id());
  $this->assertEquals(1234567890, $user->getLastLoginTime());
  // Assert our user login hook was called.
  $this->assertEquals($user->id(), $this->testUserId);
}

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