public function MigrateSqlIdMapTest::testLookupDestinationIdMapping in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/migrate/tests/src/Unit/MigrateSqlIdMapTest.php \Drupal\Tests\migrate\Unit\MigrateSqlIdMapTest::testLookupDestinationIdMapping()
Performs destination ID test on source and destination fields.
@dataProvider lookupDestinationIdMappingDataProvider
Parameters
int $num_source_fields: Number of source fields to test.
int $num_destination_fields: Number of destination fields to test.
File
- core/
modules/ migrate/ tests/ src/ Unit/ MigrateSqlIdMapTest.php, line 373 - Contains \Drupal\Tests\migrate\Unit\MigrateSqlIdMapTest.
Class
- MigrateSqlIdMapTest
- Tests the SQL ID map plugin.
Namespace
Drupal\Tests\migrate\UnitCode
public function testLookupDestinationIdMapping($num_source_fields, $num_destination_fields) {
// Adjust the migration configuration according to the number of source and
// destination fields.
$this->sourceIds = [];
$this->destinationIds = [];
$source_id_values = [];
$nonexistent_id_values = [];
$row = $this
->idMapDefaults();
for ($i = 1; $i <= $num_source_fields; $i++) {
$row["sourceid{$i}"] = "source_id_value_{$i}";
$source_id_values[] = "source_id_value_{$i}";
$nonexistent_id_values[] = "nonexistent_source_id_value_{$i}";
$this->sourceIds["source_id_property_{$i}"] = [];
}
$expected_result = [];
for ($i = 1; $i <= $num_destination_fields; $i++) {
$row["destid{$i}"] = "destination_id_value_{$i}";
$expected_result[] = "destination_id_value_{$i}";
$this->destinationIds["destination_id_property_{$i}"] = [];
}
$this
->saveMap($row);
$id_map = $this
->getIdMap();
// Test for a valid hit.
$destination_id = $id_map
->lookupDestinationId($source_id_values);
$this
->assertSame($expected_result, $destination_id);
// Test for a miss.
$destination_id = $id_map
->lookupDestinationId($nonexistent_id_values);
$this
->assertSame(0, count($destination_id));
}