Mercurial > hg > isophonics-drupal-site
diff core/modules/migrate/tests/src/Kernel/HighWaterNotJoinableTest.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/migrate/tests/src/Kernel/HighWaterNotJoinableTest.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,117 @@ +<?php + +namespace Drupal\Tests\migrate\Kernel; + +/** + * Tests the high water handling. + * + * @covers \Drupal\migrate_high_water_test\Plugin\migrate\source\HighWaterTest + * @group migrate + */ +class HighWaterNotJoinableTest extends MigrateSqlSourceTestBase { + + /** + * {@inheritdoc} + */ + public static $modules = ['migrate', 'migrate_drupal', 'migrate_high_water_test']; + + /** + * {@inheritdoc} + */ + public function providerSource() { + $tests = []; + + // Test high water when the map is not joinable. + // The source data. + $tests[0]['source_data']['high_water_node'] = [ + [ + 'id' => 1, + 'title' => 'Item 1', + 'changed' => 1, + ], + [ + 'id' => 2, + 'title' => 'Item 2', + 'changed' => 2, + ], + [ + 'id' => 3, + 'title' => 'Item 3', + 'changed' => 3, + ], + ]; + + // The expected results. + $tests[0]['expected_data'] = [ + [ + 'id' => 2, + 'title' => 'Item 2', + 'changed' => 2, + ], + [ + 'id' => 3, + 'title' => 'Item 3', + 'changed' => 3, + ], + ]; + + // The expected count is the count returned by the query before the query + // is modified by SqlBase::initializeIterator(). + $tests[0]['expected_count'] = 3; + $tests[0]['configuration'] = [ + 'high_water_property' => [ + 'name' => 'changed', + ], + ]; + $tests[0]['high_water'] = $tests[0]['source_data']['high_water_node'][0]['changed']; + + // Test high water initialized to NULL. + $tests[1]['source_data'] = $tests[0]['source_data']; + $tests[1]['expected_data'] = [ + [ + 'id' => 1, + 'title' => 'Item 1', + 'changed' => 1, + ], + [ + 'id' => 2, + 'title' => 'Item 2', + 'changed' => 2, + ], + [ + 'id' => 3, + 'title' => 'Item 3', + 'changed' => 3, + ], + ]; + $tests[1]['expected_count'] = $tests[0]['expected_count']; + $tests[1]['configuration'] = $tests[0]['configuration']; + $tests[1]['high_water'] = NULL; + + // Test high water initialized to an empty string. + $tests[2]['source_data'] = $tests[0]['source_data']; + $tests[2]['expected_data'] = [ + [ + 'id' => 1, + 'title' => 'Item 1', + 'changed' => 1, + ], + [ + 'id' => 2, + 'title' => 'Item 2', + 'changed' => 2, + ], + [ + 'id' => 3, + 'title' => 'Item 3', + 'changed' => 3, + ], + ]; + $tests[2]['expected_count'] = $tests[0]['expected_count']; + $tests[2]['configuration'] = $tests[0]['configuration']; + $tests[2]['high_water'] = ''; + + return $tests; + } + +}