function ConfigExportTest::testAjaxOnExportPage
Same name in other branches
- 9 core/modules/config/tests/src/FunctionalJavascript/ConfigExportTest.php \Drupal\Tests\config\FunctionalJavascript\ConfigExportTest::testAjaxOnExportPage()
- 11.x core/modules/config/tests/src/FunctionalJavascript/ConfigExportTest.php \Drupal\Tests\config\FunctionalJavascript\ConfigExportTest::testAjaxOnExportPage()
Tests Ajax form functionality on the config export page.
File
-
core/
modules/ config/ tests/ src/ FunctionalJavascript/ ConfigExportTest.php, line 81
Class
- ConfigExportTest
- Tests the config export form.
Namespace
Drupal\Tests\config\FunctionalJavascriptCode
public function testAjaxOnExportPage() : void {
$this->drupalLogin($this->drupalCreateUser([
'export configuration',
'administer blocks',
]));
$page = $this->getSession()
->getPage();
// Check that the export is empty on load.
$this->drupalGet('admin/config/development/configuration/single/export');
$this->assertTrue($this->assertSession()
->optionExists('edit-config-name', '- Select -')
->isSelected());
$this->assertSession()
->fieldValueEquals('export', '');
// Check that the export is filled when selecting a config name.
$page->selectFieldOption('config_name', 'system.site');
$this->assertSession()
->assertWaitOnAjaxRequest();
$this->assertSession()
->fieldValueNotEquals('export', '');
// Check that the export is empty when selecting "- Select -" option in
// the config name.
$page->selectFieldOption('config_name', '- Select -');
$this->assertSession()
->assertWaitOnAjaxRequest();
$this->assertSession()
->fieldValueEquals('export', '');
// Check that the export is emptied again when selecting a config type.
$page->selectFieldOption('config_type', 'Action');
$this->assertSession()
->assertWaitOnAjaxRequest();
$this->assertSession()
->fieldValueEquals('export', '');
// Check that the 'Configuration name' list is sorted alphabetically by ID,
// which always begins with our prefix, and not the label, which is randomized.
$page->selectFieldOption('config_type', 'Block');
$this->assertSession()
->assertWaitOnAjaxRequest();
$options = $page->findField('config_name')
->findAll('css', 'option');
foreach ([
1,
2,
3,
4,
] as $num) {
$block_name = $this->blockNamePrefix . $num;
$this->assertStringStartsWith($block_name, $options[$num]->getText());
$this->assertEquals($block_name, $options[$num]->getValue());
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.