date_migrate.test

  1. nittany7 modules/contrib/date/date_migrate/date_migrate.test
  2. cis7 modules/contrib/date/date_migrate/date_migrate.test
  3. mooc7 modules/contrib/date/date_migrate/date_migrate.test

Test for using date fields with Migrate module.

Classes

Namesort descending Description
DateMigrateExampleUnitTest Test date migration.

File

modules/contrib/date/date_migrate/date_migrate.test
View source
  1. <?php
  2. /**
  3. * @file
  4. * Test for using date fields with Migrate module.
  5. */
  6. /**
  7. * Test date migration.
  8. */
  9. class DateMigrateExampleUnitTest extends DrupalWebTestCase {
  10. /**
  11. * Provides information about this test.
  12. */
  13. public static function getInfo() {
  14. return array(
  15. 'name' => 'Date2 migration',
  16. 'description' => 'Testing migration of date fields',
  17. 'group' => 'Migrate',
  18. );
  19. }
  20. /**
  21. * Declars the module dependencies for the test.
  22. */
  23. function setUp() {
  24. parent::setUp('migrate', 'features', 'date', 'date_repeat', 'date_repeat_field', 'date_migrate_example');
  25. }
  26. /**
  27. * Verify that date fields are imported correctly. When no timezone is
  28. * explicitly provided with the source data, we want the displayed time on the
  29. * Drupal site to match that in the source data. To validate that, we make
  30. * sure we have set a consistent timezone at the PHP and Drupal levels, and
  31. * that the format used on the page is not locale-dependent (no day or month
  32. * names). Then, we can just look for the desired date/time strings in the
  33. * node page.
  34. */
  35. function testDateImport() {
  36. date_default_timezone_set('America/Los_Angeles');
  37. variable_set('date_default_timezone', 'America/Los_Angeles');
  38. variable_set('date_format_medium', 'Y-m-d H:i');
  39. $migration = Migration::getInstance('DateExample');
  40. $result = $migration->processImport();
  41. $this->assertEqual($result, Migration::RESULT_COMPLETED, t('Variety term import returned RESULT_COMPLETED'));
  42. $rawnodes = node_load_multiple(FALSE, array('type' => 'date_migrate_example'), TRUE);
  43. $this->assertEqual(count($rawnodes), 2, t('Two sample nodes created'));
  44. $node = reset($rawnodes);
  45. $this->drupalGet('/node/' . $node->nid);
  46. $this->assertText('2011-05-12 19:43', t('Simple date field found'));
  47. $this->assertText('2011-06-13 18:32 to 2011-07-23 10:32', t('Date range field found'));
  48. $this->assertText('2011-07-22 12:13', t('Datestamp field found'));
  49. $this->assertText('2011-08-01 00:00 to 2011-09-01 00:00', t('Datestamp range field found'));
  50. $this->assertText('2011-11-18 15:00', t('Datetime field with +9 timezone found'));
  51. $this->assertText('2011-10-30 14:43 to 2011-12-31 17:59', t('Datetime range field with -5 timezone found'));
  52. $this->assertText('2011-11-25 09:01', t('First date repeat instance found'));
  53. $this->assertText('2011-12-09 09:01', t('Second date repeat instance found'));
  54. $this->assertNoText('2011-12-23 09:01', t('Skipped date repeat instance not found'));
  55. $this->assertText('2012-05-11 09:01', t('Last date repeat instance found'));
  56. $node = next($rawnodes);
  57. $this->drupalGet('/node/' . $node->nid);
  58. $this->assertText('2012-06-21 15:32', t('First date value found'));
  59. $this->assertText('2012-12-02 11:08', t('Second date value found'));
  60. $this->assertText('2004-02-03 01:15', t('Start for first date range found'));
  61. $this->assertText('2005-03-04 22:11', t('End for first date range found'));
  62. $this->assertText('2014-09-01 17:21', t('Start for second date range found'));
  63. $this->assertText('2015-12-23 00:01', t('End for first second range found'));
  64. }
  65. }