function UserAccountFormPasswordResetTest::testPasswordResetToken
Same name in other branches
- 10 core/modules/user/tests/src/Kernel/UserAccountFormPasswordResetTest.php \Drupal\Tests\user\Kernel\UserAccountFormPasswordResetTest::testPasswordResetToken()
- 11.x core/modules/user/tests/src/Kernel/UserAccountFormPasswordResetTest.php \Drupal\Tests\user\Kernel\UserAccountFormPasswordResetTest::testPasswordResetToken()
Tests the reset token used only from query string.
File
-
core/
modules/ user/ tests/ src/ Kernel/ UserAccountFormPasswordResetTest.php, line 53
Class
- UserAccountFormPasswordResetTest
- Verifies that the password reset behaves as expected with form elements.
Namespace
Drupal\Tests\user\KernelCode
public function testPasswordResetToken() {
/** @var \Symfony\Component\HttpFoundation\Request $request */
$request = $this->container
->get('request_stack')
->getCurrentRequest();
// @todo: Replace with $request->getSession() as soon as the session is
// present in KernelTestBase.
// see: https://www.drupal.org/node/2484991
$session = new Session();
$request->setSession($session);
$token = 'VALID_TOKEN';
$session->set('pass_reset_1', $token);
// Set token in query string.
$request->query
->set('pass-reset-token', $token);
$form = $this->buildAccountForm('default');
// User shouldn't see current password field.
$this->assertFalse($form['account']['current_pass']['#access']);
$request->query
->set('pass-reset-token', NULL);
$request->attributes
->set('pass-reset-token', $token);
$form = $this->buildAccountForm('default');
$this->assertTrue($form['account']['current_pass']['#access']);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.