public function ConfigTranslationUiTest::testAccountSettingsConfigurationTranslation in Drupal 8
Same name and namespace in other branches
- 9 core/modules/config_translation/tests/src/Functional/ConfigTranslationUiTest.php \Drupal\Tests\config_translation\Functional\ConfigTranslationUiTest::testAccountSettingsConfigurationTranslation()
- 10 core/modules/config_translation/tests/src/Functional/ConfigTranslationUiTest.php \Drupal\Tests\config_translation\Functional\ConfigTranslationUiTest::testAccountSettingsConfigurationTranslation()
Tests the account settings translation interface.
This is the only special case so far where we have multiple configuration names involved building up one configuration translation form. Test that the translations are saved for all configuration names properly.
File
- core/
modules/ config_translation/ tests/ src/ Functional/ ConfigTranslationUiTest.php, line 515
Class
- ConfigTranslationUiTest
- Translate settings and entities to various languages.
Namespace
Drupal\Tests\config_translation\FunctionalCode
public function testAccountSettingsConfigurationTranslation() {
$this
->drupalLogin($this->adminUser);
$this
->drupalGet('admin/config/people/accounts');
$this
->assertSession()
->linkExists(t('Translate @type', [
'@type' => 'account settings',
]));
$this
->drupalGet('admin/config/people/accounts/translate');
$this
->assertSession()
->linkExists(t('Translate @type', [
'@type' => 'account settings',
]));
$this
->assertLinkByHref('admin/config/people/accounts/translate/fr/add');
// Update account settings fields for French.
$edit = [
'translation[config_names][user.settings][anonymous]' => 'Anonyme',
'translation[config_names][user.mail][status_blocked][subject]' => 'Testing, your account is blocked.',
'translation[config_names][user.mail][status_blocked][body]' => 'Testing account blocked body.',
];
$this
->drupalPostForm('admin/config/people/accounts/translate/fr/add', $edit, t('Save translation'));
// Make sure the changes are saved and loaded back properly.
$this
->drupalGet('admin/config/people/accounts/translate/fr/edit');
foreach ($edit as $key => $value) {
// Check the translations appear in the right field type as well.
$xpath = '//' . (strpos($key, '[body]') ? 'textarea' : 'input') . '[@name="' . $key . '"]';
$this
->assertFieldByXPath($xpath, $value);
}
// Check that labels for email settings appear.
$this
->assertText(t('Account cancellation confirmation'));
$this
->assertText(t('Password recovery'));
}