function GenericModuleTestBase::testModuleGenericIssues
Same name and namespace in other branches
- 10 core/modules/system/tests/src/Functional/Module/GenericModuleTestBase.php \Drupal\Tests\system\Functional\Module\GenericModuleTestBase::testModuleGenericIssues()
Checks some generic things about a module.
File
-
core/
modules/ system/ tests/ src/ Functional/ Module/ GenericModuleTestBase.php, line 41
Class
- GenericModuleTestBase
- Runs a series of generic tests for one module.
Namespace
Drupal\Tests\system\Functional\ModuleCode
public function testModuleGenericIssues() : void {
$module = $this->getModule();
\Drupal::service('module_installer')->install([
$module,
]);
$info = \Drupal::service('extension.list.module')->getExtensionInfo($module);
if (!empty($info['required']) && !empty($info['hidden'])) {
$this->markTestSkipped('Nothing to assert for hidden, required modules.');
}
$this->drupalLogin($this->createUser([
'access help pages',
]));
$this->assertHookHelp($module);
if (empty($info['required'])) {
$connection = Database::getConnection();
// The module that provides the database driver, or is a dependency of
// the database driver, cannot be uninstalled.
$database_module_extension = \Drupal::service(ModuleExtensionList::class)->get($connection->getProvider());
$database_modules_required = $database_module_extension->requires ? array_keys($database_module_extension->requires) : [];
$database_modules_required[] = $connection->getProvider();
if (!in_array($module, $database_modules_required)) {
// Check that the module can be uninstalled and then re-installed again.
$this->preUnInstallSteps();
$this->assertTrue(\Drupal::service('module_installer')->uninstall([
$module,
]), "Failed to uninstall '{$module}' module");
$this->assertTrue(\Drupal::service('module_installer')->install([
$module,
]), "Failed to install '{$module}' module");
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.