You are here

public function ConfigTranslationFormTest::testConfigTranslationFormAlter in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/config_translation/tests/src/Kernel/ConfigTranslationFormTest.php \Drupal\Tests\config_translation\Kernel\ConfigTranslationFormTest::testConfigTranslationFormAlter()

Tests altering of the configuration translation forms.

File

core/modules/config_translation/tests/src/Kernel/ConfigTranslationFormTest.php, line 30

Class

ConfigTranslationFormTest
Tests for altering configuration translation forms.

Namespace

Drupal\Tests\config_translation\Kernel

Code

public function testConfigTranslationFormAlter() {
  $this
    ->installConfig([
    'config_translation_test',
  ]);
  $definitions = $this->container
    ->get('plugin.manager.config_translation.mapper')
    ->getDefinitions();
  $plugin_id = key($definitions);
  $langcode = 'xx';
  ConfigurableLanguage::create([
    'id' => $langcode,
    'label' => 'XX',
  ])
    ->save();
  $this->container
    ->get('state')
    ->set('config_translation_test_alter_form_alter', TRUE);
  $form_builder = $this->container
    ->get('form_builder');
  $route_match = $this->container
    ->get('current_route_match');
  $add_form = $form_builder
    ->getForm(ConfigTranslationAddForm::class, $route_match, $plugin_id, $langcode);
  $edit_form = $form_builder
    ->getForm(ConfigTranslationEditForm::class, $route_match, $plugin_id, $langcode);

  // Test that hook_form_BASE_FORM_ID_alter() was called for the base form ID
  // 'config_translation_form'.
  $this
    ->assertTrue($add_form['#base_altered']);
  $this
    ->assertTrue($edit_form['#base_altered']);

  // Test that hook_form_FORM_ID_alter() was called for the form IDs
  // 'config_translation_add_form' and 'config_translation_edit_form'.
  $this
    ->assertTrue($add_form['#altered']);
  $this
    ->assertTrue($edit_form['#altered']);
}