You are here

protected function MigrateTestBase::prepareMigrations in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/migrate/tests/src/Kernel/MigrateTestBase.php \Drupal\Tests\migrate\Kernel\MigrateTestBase::prepareMigrations()
  2. 9 core/modules/migrate/tests/src/Kernel/MigrateTestBase.php \Drupal\Tests\migrate\Kernel\MigrateTestBase::prepareMigrations()

Prepare any dependent migrations.

Parameters

array $id_mappings: A list of ID mappings keyed by migration IDs. Each ID mapping is a list of two arrays, the first are source IDs and the second are destination IDs.

File

core/modules/migrate/tests/src/Kernel/MigrateTestBase.php, line 134

Class

MigrateTestBase
Creates abstract base class for migration tests.

Namespace

Drupal\Tests\migrate\Kernel

Code

protected function prepareMigrations(array $id_mappings) {
  $manager = $this->container
    ->get('plugin.manager.migration');
  foreach ($id_mappings as $migration_id => $data) {
    foreach ($manager
      ->createInstances($migration_id) as $migration) {
      $id_map = $migration
        ->getIdMap();
      $id_map
        ->setMessage($this);
      $source_ids = $migration
        ->getSourcePlugin()
        ->getIds();
      foreach ($data as $id_mapping) {
        $row = new Row(array_combine(array_keys($source_ids), $id_mapping[0]), $source_ids);
        $id_map
          ->saveIdMapping($row, $id_mapping[1]);
      }
    }
  }
}