function ModuleTestBase::assertModuleTablesExist

Same name and namespace in other branches
  1. 8.9.x core/modules/system/src/Tests/Module/ModuleTestBase.php \Drupal\system\Tests\Module\ModuleTestBase::assertModuleTablesExist()
  2. 8.9.x core/modules/system/tests/src/Functional/Module/ModuleTestBase.php \Drupal\Tests\system\Functional\Module\ModuleTestBase::assertModuleTablesExist()
  3. 10 core/modules/system/tests/src/Functional/Module/ModuleTestBase.php \Drupal\Tests\system\Functional\Module\ModuleTestBase::assertModuleTablesExist()
  4. 11.x core/modules/system/tests/src/Functional/Module/ModuleTestBase.php \Drupal\Tests\system\Functional\Module\ModuleTestBase::assertModuleTablesExist()

Assert that all tables defined in a module's hook_schema() exist.

Parameters

$module: The name of the module.

2 calls to ModuleTestBase::assertModuleTablesExist()
ConfigImportAllTest::testInstallUninstall in core/modules/config/tests/src/Functional/ConfigImportAllTest.php
Tests that a fixed set of modules can be installed and uninstalled.
InstallUninstallTest::assertModuleSuccessfullyInstalled in core/modules/system/tests/src/Functional/Module/InstallUninstallTest.php
Asserts that a module was successfully installed.

File

core/modules/system/tests/src/Functional/Module/ModuleTestBase.php, line 46

Class

ModuleTestBase
Helper class for module test cases.

Namespace

Drupal\Tests\system\Functional\Module

Code

public function assertModuleTablesExist($module) {
    $tables = array_keys(SchemaInspector::getTablesSpecification(\Drupal::moduleHandler(), $module));
    $tables_exist = TRUE;
    $schema = Database::getConnection()->schema();
    foreach ($tables as $table) {
        if (!$schema->tableExists($table)) {
            $tables_exist = FALSE;
        }
    }
    $this->assertTrue($tables_exist, new FormattableMarkup('All database tables defined by the @module module exist.', [
        '@module' => $module,
    ]));
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.