Namespace
Drupal\Tests\form_api_example\Functional
File
-
modules/config_simple_example/tests/src/Functional/ConfigExampleTest.php
View source
<?php
namespace Drupal\Tests\form_api_example\Functional;
use Drupal\Core\Url;
use Drupal\language\Entity\ConfigurableLanguage;
use Drupal\Tests\examples\Functional\ExamplesBrowserTestBase;
class ConfigExampleTest extends ExamplesBrowserTestBase {
protected $defaultTheme = 'stark';
protected $adminUser;
protected static $modules = [
'language',
'locale',
'node',
'config_translation',
'config_simple_example',
];
protected $profile = 'minimal';
protected $permissions = [
'administer site configuration',
'access administration pages',
'access content',
'translate configuration',
];
protected function setUp() : void {
parent::setUp();
$this->adminUser = $this->drupalCreateUser($this->permissions);
$this->drupalLogin($this->adminUser);
ConfigurableLanguage::createFromLangcode('es')->save();
}
public function testFunctional() {
$this->doTestMainPage();
$this->doTestConfigSimpleForm();
}
public function doTestMainPage() {
$assert = $this->assertSession();
$example_page = Url::fromRoute('config_simple_example.description');
$this->drupalGet($example_page);
$assert->pageTextContains('The Config Simple Example module defines a simple translatable config form.');
$assert->linkExists('Config Simple Form');
}
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');
$assert = $this->assertSession();
$this->drupalGet($config_page_en);
$assert->fieldEnabled('edit-message');
$assert->buttonExists('edit-submit');
$this->drupalGet($config_page_en);
$edit = [
'message' => 'Message in EN',
];
$this->submitForm($edit, 'Save configuration');
$assert->pageTextContains('Message in EN');
$this->drupalGet($config_page_translate);
$this->clickLink('Add');
$assert->fieldExists('translation[config_names][config_simple_example.settings][message]');
$edit = [
'message' => 'Message in ES',
];
$this->submitForm($edit, 'Save translation');
$this->drupalGet($config_page_es);
$assert->pageTextContains('Message in ES');
$this->drupalGet($config_page_en);
$assert->pageTextContains('Message in EN');
}
}
Classes
| Title |
Deprecated |
Summary |
| ConfigExampleTest |
|
Ensure that the form_api_example forms work properly. |