function HighWaterNotJoinableTest::providerSource

Same name in other branches
  1. 9 core/modules/migrate/tests/src/Kernel/HighWaterNotJoinableTest.php \Drupal\Tests\migrate\Kernel\HighWaterNotJoinableTest::providerSource()
  2. 8.9.x core/modules/migrate/tests/src/Kernel/HighWaterNotJoinableTest.php \Drupal\Tests\migrate\Kernel\HighWaterNotJoinableTest::providerSource()
  3. 11.x core/modules/migrate/tests/src/Kernel/HighWaterNotJoinableTest.php \Drupal\Tests\migrate\Kernel\HighWaterNotJoinableTest::providerSource()

File

core/modules/migrate/tests/src/Kernel/HighWaterNotJoinableTest.php, line 27

Class

HighWaterNotJoinableTest
Tests the high water handling.

Namespace

Drupal\Tests\migrate\Kernel

Code

public static 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;
}

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