ConfigTranslationUiThemeTest.php in Drupal 9
File
core/modules/config_translation/tests/src/Functional/ConfigTranslationUiThemeTest.php
View source
<?php
namespace Drupal\Tests\config_translation\Functional;
use Drupal\language\Entity\ConfigurableLanguage;
use Drupal\Tests\BrowserTestBase;
class ConfigTranslationUiThemeTest extends BrowserTestBase {
protected static $modules = [
'config_translation',
'config_translation_test',
];
protected $defaultTheme = 'stark';
protected $langcodes = [
'fr',
'ta',
];
protected $adminUser;
protected function setUp() : void {
parent::setUp();
$admin_permissions = [
'administer themes',
'administer languages',
'administer site configuration',
'translate configuration',
];
$this->adminUser = $this
->drupalCreateUser($admin_permissions);
foreach ($this->langcodes as $langcode) {
ConfigurableLanguage::createFromLangcode($langcode)
->save();
}
}
public function testThemeDiscovery() {
$theme = 'config_translation_test_theme';
$this
->drupalLogin($this->adminUser);
$this
->drupalGet('admin/appearance');
$element = $this
->assertSession()
->elementExists('xpath', "//a[normalize-space()='Install and set as default' and contains(@href, '{$theme}')]");
$this
->drupalGet($GLOBALS['base_root'] . $element
->getAttribute('href'), [
'external' => TRUE,
]);
$translation_base_url = 'admin/config/development/performance/translate';
$this
->drupalGet($translation_base_url);
$this
->assertSession()
->statusCodeEquals(200);
$this
->assertSession()
->linkByHrefExists("{$translation_base_url}/fr/add");
}
}