You are here

public function LocaleFileSystemFormTest::testFileConfigurationPage in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/locale/tests/src/Functional/LocaleFileSystemFormTest.php \Drupal\Tests\locale\Functional\LocaleFileSystemFormTest::testFileConfigurationPage()
  2. 10 core/modules/locale/tests/src/Functional/LocaleFileSystemFormTest.php \Drupal\Tests\locale\Functional\LocaleFileSystemFormTest::testFileConfigurationPage()

Tests translation directory settings on the file settings form.

File

core/modules/locale/tests/src/Functional/LocaleFileSystemFormTest.php, line 38

Class

LocaleFileSystemFormTest
Tests the locale functionality in the altered file settings form.

Namespace

Drupal\Tests\locale\Functional

Code

public function testFileConfigurationPage() {

  // By default there should be no setting for the translation directory.
  $this
    ->drupalGet('admin/config/media/file-system');
  $this
    ->assertSession()
    ->fieldNotExists('translation_path');

  // With locale module installed, the setting should appear.
  $module_installer = $this->container
    ->get('module_installer');
  $module_installer
    ->install([
    'locale',
  ]);
  $this
    ->rebuildContainer();
  $this
    ->drupalGet('admin/config/media/file-system');
  $this
    ->assertSession()
    ->fieldExists('translation_path');

  // The setting should persist.
  $translation_path = $this->publicFilesDirectory . '/translations_changed';
  $fields = [
    'translation_path' => $translation_path,
  ];
  $this
    ->submitForm($fields, 'Save configuration');
  $this
    ->drupalGet('admin/config/media/file-system');
  $this
    ->assertSession()
    ->fieldValueEquals('translation_path', $translation_path);
  $this
    ->assertEquals($this
    ->config('locale.settings')
    ->get('translation.path'), $translation_path);
}