function ConfigInstallTest::testDependencyChecking
Same name in other branches
- 9 core/tests/Drupal/KernelTests/Core/Config/ConfigInstallTest.php \Drupal\KernelTests\Core\Config\ConfigInstallTest::testDependencyChecking()
- 10 core/tests/Drupal/KernelTests/Core/Config/ConfigInstallTest.php \Drupal\KernelTests\Core\Config\ConfigInstallTest::testDependencyChecking()
- 11.x core/tests/Drupal/KernelTests/Core/Config/ConfigInstallTest.php \Drupal\KernelTests\Core\Config\ConfigInstallTest::testDependencyChecking()
Tests the configuration with unmet dependencies is not installed.
File
-
core/
tests/ Drupal/ KernelTests/ Core/ Config/ ConfigInstallTest.php, line 195
Class
- ConfigInstallTest
- Tests installation of configuration objects in installation functionality.
Namespace
Drupal\KernelTests\Core\ConfigCode
public function testDependencyChecking() {
$this->installModules([
'config_test',
]);
try {
$this->installModules([
'config_install_dependency_test',
]);
$this->fail('Expected UnmetDependenciesException not thrown.');
} catch (UnmetDependenciesException $e) {
$this->assertEqual($e->getExtension(), 'config_install_dependency_test');
$this->assertEqual($e->getConfigObjects(), [
'config_test.dynamic.other_module_test_with_dependency' => [
'config_other_module_config_test',
'config_test.dynamic.dotted.english',
],
]);
$this->assertEqual($e->getMessage(), 'Configuration objects provided by <em class="placeholder">config_install_dependency_test</em> have unmet dependencies: <em class="placeholder">config_test.dynamic.other_module_test_with_dependency (config_other_module_config_test, config_test.dynamic.dotted.english)</em>');
}
try {
$this->installModules([
'config_install_double_dependency_test',
]);
$this->fail('Expected UnmetDependenciesException not thrown.');
} catch (UnmetDependenciesException $e) {
$this->assertEquals('config_install_double_dependency_test', $e->getExtension());
$this->assertEquals([
'config_test.dynamic.other_module_test_with_dependency' => [
'config_other_module_config_test',
'config_test.dynamic.dotted.english',
],
], $e->getConfigObjects());
$this->assertEquals('Configuration objects provided by <em class="placeholder">config_install_double_dependency_test</em> have unmet dependencies: <em class="placeholder">config_test.dynamic.other_module_test_with_dependency (config_other_module_config_test, config_test.dynamic.dotted.english)</em>', $e->getMessage());
}
$this->installModules([
'config_test_language',
]);
try {
$this->installModules([
'config_install_dependency_test',
]);
$this->fail('Expected UnmetDependenciesException not thrown.');
} catch (UnmetDependenciesException $e) {
$this->assertEqual($e->getExtension(), 'config_install_dependency_test');
$this->assertEqual($e->getConfigObjects(), [
'config_test.dynamic.other_module_test_with_dependency' => [
'config_other_module_config_test',
],
]);
$this->assertEqual($e->getMessage(), 'Configuration objects provided by <em class="placeholder">config_install_dependency_test</em> have unmet dependencies: <em class="placeholder">config_test.dynamic.other_module_test_with_dependency (config_other_module_config_test)</em>');
}
$this->installModules([
'config_other_module_config_test',
]);
$this->installModules([
'config_install_dependency_test',
]);
$entity = \Drupal::entityTypeManager()->getStorage('config_test')
->load('other_module_test_with_dependency');
$this->assertNotEmpty($entity, 'The config_test.dynamic.other_module_test_with_dependency configuration has been created during install.');
// Ensure that dependencies can be added during module installation by
// hooks.
$this->assertSame('config_install_dependency_test', $entity->getDependencies()['module'][0]);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.