Skip to content
Snippets Groups Projects
Commit 59dbb9e7 authored by catch's avatar catch
Browse files

Merge branch '3462561-stop-using-a' into '11.x'

Stop using a data provider in UserPasswordResetTest.

See merge request !8837
parents 26684ff0 b57f7b61
No related branches found
No related tags found
No related merge requests found
Pipeline #228649 passed
Pipeline: drupal

#228654

    ...@@ -239,10 +239,8 @@ public function testUserPasswordReset(): void { ...@@ -239,10 +239,8 @@ public function testUserPasswordReset(): void {
    /** /**
    * Tests password reset functionality when user has set preferred language. * Tests password reset functionality when user has set preferred language.
    *
    * @dataProvider languagePrefixTestProvider
    */ */
    public function testUserPasswordResetPreferredLanguage($setPreferredLangcode, $activeLangcode, $prefix, $visitingUrl, $expectedResetUrl, $unexpectedResetUrl): void { public function testUserPasswordResetPreferredLanguage(): void {
    // Set two new languages. // Set two new languages.
    ConfigurableLanguage::createFromLangcode('fr')->save(); ConfigurableLanguage::createFromLangcode('fr')->save();
    ConfigurableLanguage::createFromLangcode('zh-hant')->save(); ConfigurableLanguage::createFromLangcode('zh-hant')->save();
    ...@@ -254,34 +252,37 @@ public function testUserPasswordResetPreferredLanguage($setPreferredLangcode, $a ...@@ -254,34 +252,37 @@ public function testUserPasswordResetPreferredLanguage($setPreferredLangcode, $a
    $config->set('url.prefixes', ['en' => '', 'fr' => 'fr', 'zh-hant' => 'zh'])->save(); $config->set('url.prefixes', ['en' => '', 'fr' => 'fr', 'zh-hant' => 'zh'])->save();
    $this->rebuildContainer(); $this->rebuildContainer();
    $this->account->preferred_langcode = $setPreferredLangcode; foreach ($this->languagePrefixTestProvider() as $scenario) {
    $this->account->save(); [$setPreferredLangcode, $activeLangcode, $prefix, $visitingUrl, $expectedResetUrl, $unexpectedResetUrl] = array_values($scenario);
    $this->assertSame($setPreferredLangcode, $this->account->getPreferredLangcode(FALSE)); $this->account->preferred_langcode = $setPreferredLangcode;
    $this->account->save();
    $this->assertSame($setPreferredLangcode, $this->account->getPreferredLangcode(FALSE));
    // Test Default langcode is different from active langcode when visiting different.
    if ($setPreferredLangcode !== 'en') {
    $this->drupalGet($prefix . '/user/password');
    $this->assertSame($activeLangcode, $this->getSession()->getResponseHeader('Content-language'));
    $this->assertSame('en', $this->languageManager->getDefaultLanguage()->getId());
    }
    // Test password reset with language prefixes.
    $this->drupalGet($visitingUrl);
    $edit = ['name' => $this->account->getAccountName()];
    $this->submitForm($edit, 'Submit');
    $this->assertValidPasswordReset($edit['name']);
    // Test Default langcode is different from active langcode when visiting different. $resetURL = $this->getResetURL();
    if ($setPreferredLangcode !== 'en') { $this->assertStringContainsString($expectedResetUrl, $resetURL);
    $this->drupalGet($prefix . '/user/password'); $this->assertStringNotContainsString($unexpectedResetUrl, $resetURL);
    $this->assertSame($activeLangcode, $this->getSession()->getResponseHeader('Content-language'));
    $this->assertSame('en', $this->languageManager->getDefaultLanguage()->getId());
    } }
    // Test password reset with language prefixes.
    $this->drupalGet($visitingUrl);
    $edit = ['name' => $this->account->getAccountName()];
    $this->submitForm($edit, 'Submit');
    $this->assertValidPasswordReset($edit['name']);
    $resetURL = $this->getResetURL();
    $this->assertStringContainsString($expectedResetUrl, $resetURL);
    $this->assertStringNotContainsString($unexpectedResetUrl, $resetURL);
    } }
    /** /**
    * Data provider for testUserPasswordResetPreferredLanguage(). * Provides scenarios for testUserPasswordResetPreferredLanguage().
    * *
    * @return array * @return array
    */ */
    public static function languagePrefixTestProvider() { protected function languagePrefixTestProvider() {
    return [ return [
    'Test language prefix set as \'\', visiting default with preferred language as en' => [ 'Test language prefix set as \'\', visiting default with preferred language as en' => [
    'setPreferredLangcode' => 'en', 'setPreferredLangcode' => 'en',
    ......
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please register or to comment