You are here

public function CSVUnitTest::iteratorDataProvider in Migrate Source CSV 8.3

Data provider for iterator testing.

Return value

array The test case.

File

tests/src/Unit/Plugin/migrate/source/CSVUnitTest.php, line 171

Class

CSVUnitTest
@coversDefaultClass \Drupal\migrate_source_csv\Plugin\migrate\source\CSV

Namespace

Drupal\Tests\migrate_source_csv\Unit\Plugin\migrate\source

Code

public function iteratorDataProvider() : array {
  $data['non standard'] = [
    'configuration' => [
      'ids' => [
        'ids',
      ],
      'path' => 'non standard',
      'header_offset' => NULL,
      'delimiter' => '|',
      'enclosure' => '%',
      'escape' => '`',
    ],
    'expected rows' => [
      [
        '1',
        'Justin',
        'Dean',
        'jdean0@example.com',
        'Indonesia',
        '60.242.130.40',
      ],
      [
        '2',
        'Joan',
        'Jordan',
        'jjordan1@example.com',
        'Thailand',
        '137.230.209.171',
      ],
    ],
  ];
  $data['standard'] = [
    'configuration' => [
      'ids' => [
        'ids',
      ],
    ],
    'expected rows' => [
      [
        'id' => '1',
        'first_name' => 'Justin',
        'last_name' => 'Dean',
        'email' => 'jdean0@example.com',
        'country' => 'Indonesia',
        'ip_address' => '60.242.130.40',
      ],
      [
        'id' => '2',
        'first_name' => 'Joan',
        'last_name' => 'Jordan',
        'email' => 'jjordan1@example.com',
        'country' => 'Thailand',
        'ip_address' => '137.230.209.171',
      ],
    ],
  ];
  $data['with defined fields'] = [
    'configuration' => [
      'ids' => [
        'ids',
      ],
      'fields' => [
        [
          'name' => 'id',
        ],
        [
          'name' => 'first_name',
          'label' => 'First Name',
        ],
      ],
    ],
    'expected rows' => [
      [
        'id' => '1',
        'first_name' => 'Justin',
      ],
      [
        'id' => '2',
        'first_name' => 'Joan',
      ],
    ],
  ];
  $data['default record number field name'] = [
    'configuration' => [
      'ids' => [
        'id',
      ],
      'create_record_number' => TRUE,
    ],
    'expected rows' => [
      [
        'id' => '1',
        'first_name' => 'Justin',
        'last_name' => 'Dean',
        'email' => 'jdean0@example.com',
        'country' => 'Indonesia',
        'ip_address' => '60.242.130.40',
        'record_number' => 1,
      ],
      [
        'id' => '2',
        'first_name' => 'Joan',
        'last_name' => 'Jordan',
        'email' => 'jjordan1@example.com',
        'country' => 'Thailand',
        'ip_address' => '137.230.209.171',
        'record_number' => 2,
      ],
    ],
  ];
  $data['custom record number field name'] = [
    'configuration' => [
      'ids' => [
        'MyRowNumber',
      ],
      'create_record_number' => TRUE,
      'record_number_field' => 'MyRowNumber',
      'header_offset' => 1,
    ],
    'expected rows' => [
      [
        '1' => 'id',
        'Justin' => 'first_name',
        'Dean' => 'last_name',
        'jdean0@example.com' => 'email',
        'Indonesia' => 'country',
        '60.242.130.40' => 'ip_address',
        'MyRowNumber' => 2,
      ],
      [
        '1' => '2',
        'Justin' => 'Joan',
        'Dean' => 'Jordan',
        'jdean0@example.com' => 'jjordan1@example.com',
        'Indonesia' => 'Thailand',
        '60.242.130.40' => '137.230.209.171',
        'MyRowNumber' => 3,
      ],
    ],
  ];
  return $data;
}