diff --git a/core/modules/config/src/Tests/ConfigSingleImportExportTest.php b/core/modules/config/src/Tests/ConfigSingleImportExportTest.php index 2edf9d8..817bf22 100644 --- a/core/modules/config/src/Tests/ConfigSingleImportExportTest.php +++ b/core/modules/config/src/Tests/ConfigSingleImportExportTest.php @@ -127,6 +127,25 @@ public function testImport() { $entity = $storage->load('second'); $this->assertRaw(t('The configuration was imported successfully.')); $this->assertIdentical($entity->label(), 'Second updated'); + + // Try to perform an update which adds missing dependencies. + $import = << 'config_test', + 'import' => $import, + ); + $this->drupalPostForm('admin/config/development/configuration/single/import', $edit, t('Import')); + $this->assertRaw(t('Configuration %name depends on the %owner module that will not be installed after import.', ['%name' => 'config_test.dynamic.second', '%owner' => 'does_not_exist'])); } /** @@ -149,6 +168,20 @@ public function testImportSimpleConfiguration() { $this->drupalPostForm(NULL, array(), t('Confirm')); $this->drupalGet(''); $this->assertText('Test simple import'); + + // Ensure that ConfigImporter validation is running when importing simple + // configuration. + $config_data = $this->config('core.extension')->get(); + // Simulate uninstalling the Config module. + unset($config_data['module']['config']); + $edit = array( + 'config_type' => 'system.simple', + 'config_name' => 'core.extension', + 'import' => Yaml::encode($config_data), + ); + $this->drupalPostForm('admin/config/development/configuration/single/import', $edit, t('Import')); + $this->assertText(t('Can not uninstall the Configuration module as part of a configuration synchronization through the user interface.')); + } /**