function ConfigExampleTest::doTestConfigSimpleForm

Test the config simple form.

1 call to ConfigExampleTest::doTestConfigSimpleForm()
ConfigExampleTest::testFunctional in modules/config_simple_example/tests/src/Functional/ConfigExampleTest.php
Aggregate all the tests.

File

modules/config_simple_example/tests/src/Functional/ConfigExampleTest.php, line 106

Class

ConfigExampleTest
Ensure that the form_api_example forms work properly.

Namespace

Drupal\Tests\form_api_example\Functional

Code

public function doTestConfigSimpleForm() {
    $config_page_en = Url::fromRoute('config_simple_example.settings');
    $config_page_translate = $this->drupalGet('admin/config/form-api-example/config-simple-form/translate');
    $config_page_es = $this->drupalGet('admin/config/form-api-example/config-simple-form/translate/es/edit');
    // English.
    $assert = $this->assertSession();
    $this->drupalGet($config_page_en);
    $assert->fieldEnabled('edit-message');
    $assert->buttonExists('edit-submit');
    // Ensure the 'Save configuration' action performs the save.
    $this->drupalGet($config_page_en);
    $edit = [
        'message' => 'Message in EN',
    ];
    $this->submitForm($edit, 'Save configuration');
    $assert->pageTextContains('Message in EN');
    // Form translation page and click the button to Add Spanish translation.
    $this->drupalGet($config_page_translate);
    $this->clickLink('Add');
    $assert->fieldExists('translation[config_names][config_simple_example.settings][message]');
    // Ensure the 'Save translation' action performs the save.
    $edit = [
        'message' => 'Message in ES',
    ];
    $this->submitForm($edit, 'Save translation');
    $this->drupalGet($config_page_es);
    $assert->pageTextContains('Message in ES');
    // Go back to original English version and make sure it's still there.
    $this->drupalGet($config_page_en);
    $assert->pageTextContains('Message in EN');
}