function ConfigImportUITest::testEnumViaConfigImporter
Same name and namespace in other branches
- 11.x core/modules/config/tests/src/Functional/ConfigImportUITest.php \Drupal\Tests\config\Functional\ConfigImportUITest::testEnumViaConfigImporter()
Tests importing an enum.
File
-
core/
modules/ config/ tests/ src/ Functional/ ConfigImportUITest.php, line 563
Class
- ConfigImportUITest
- Tests the user interface for importing configuration.
Namespace
Drupal\Tests\config\FunctionalCode
public function testEnumViaConfigImporter() : void {
$config_name = 'config_enum_test.settings';
$assert_session = $this->assertSession();
$sync = \Drupal::service('config.storage.sync');
$config_data = $this->config($config_name)
->get();
$config_data['foo'] = EnumValue::No;
$sync->write($config_name, $config_data);
$core_extension = $this->config('core.extension')
->get();
$core_extension['module']['config_enum_test'] = 0;
$core_extension['module'] = \Drupal::service(ModuleWeight::class)->sort($core_extension['module']);
$sync->write('core.extension', $core_extension);
$this->drupalGet('admin/config/development/configuration/sync/diff/' . $config_name);
$assert_session->responseNotContains(' ');
$assert_session->titleEquals("View changes of {$config_name} | Drupal");
$assert_session->elementsCount('xpath', '//table[contains(@class, "diff")]', 1);
$assert_session->pageTextContains("foo: !php/enum Drupal\\config_enum_test\\EnumValue::No");
$this->drupalGet('admin/config/development/configuration');
$assert_session->responseContains('<td>config_enum_test.settings');
$assert_session->pageTextNotContains('The staged configuration is identical to the active configuration.');
$this->submitForm([], 'Import all');
$assert_session->responseNotContains('<td>config_enum_test.settings');
$assert_session->pageTextContains('The staged configuration is identical to the active configuration.');
// Ensure the value returned from config is an enum.
$this->assertSame(EnumValue::No, $this->config('config_enum_test.settings')
->get('foo'));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.