You are here

function ModuleInstallTestCase::testDrupalWriteRecord in Drupal 7

Test that calls to drupal_write_record() work during module installation.

This is a useful function to test because modules often use it to insert initial data in their database tables when they are being installed or enabled. Furthermore, drupal_write_record() relies on the module schema information being available, so this also checks that the data from one of the module's hook implementations, in particular hook_schema(), is properly available during this time. Therefore, this test helps ensure that modules are fully functional while Drupal is installing and enabling them.

File

modules/simpletest/tests/module.test, line 266
Tests for the module API.

Class

ModuleInstallTestCase
Unit tests for module installation.

Code

function testDrupalWriteRecord() {

  // Check for data that was inserted using drupal_write_record() while the
  // 'module_test' module was being installed and enabled.
  $data = db_query("SELECT data FROM {module_test}")
    ->fetchCol();
  $this
    ->assertTrue(in_array('Data inserted in hook_install()', $data), 'Data inserted using drupal_write_record() in hook_install() is correctly saved.');
  $this
    ->assertTrue(in_array('Data inserted in hook_enable()', $data), 'Data inserted using drupal_write_record() in hook_enable() is correctly saved.');
}