public function QueryBatchTest::queryDataProvider in Drupal 8
Same name and namespace in other branches
- 9 core/modules/migrate/tests/src/Kernel/QueryBatchTest.php \Drupal\Tests\migrate\Kernel\QueryBatchTest::queryDataProvider()
File
- core/modules/migrate/tests/src/Kernel/QueryBatchTest.php, line 79
Class
- QueryBatchTest
- Tests query batching.
Namespace
Drupal\Tests\migrate\Kernel
Code
public function queryDataProvider() {
$test_parameters = [
[
200,
0,
],
[
200,
20,
],
[
200,
30,
],
[
200,
200,
],
[
200,
300,
],
];
$table = 'query_batch_test';
$tests = [];
$data_set = 0;
foreach ($test_parameters as $data) {
list($num_rows, $batch_size) = $data;
for ($i = 0; $i < $num_rows; $i++) {
$tests[$data_set]['source_data'][$table][] = [
'id' => $i,
'data' => $this
->randomString(),
];
}
$tests[$data_set]['expected_data'] = $tests[$data_set]['source_data'][$table];
$tests[$data_set][2] = $num_rows;
$tests[$data_set][3] = [
'batch_size' => $batch_size,
];
$tests[$data_set][4] = $batch_size;
$expected_batch_count = 0;
if ($batch_size > 0) {
$expected_batch_count = (int) ($num_rows / $batch_size);
if ($num_rows % $batch_size) {
$expected_batch_count++;
}
}
$tests[$data_set][5] = $expected_batch_count;
$data_set++;
}
return $tests;
}