You are here

public function MigrationTest::testSuccessfulLookup in Drupal 8

Tests a successful lookup.

@dataProvider successfulLookupDataProvider

@expectedDeprecation Not passing the migrate lookup service as the fifth parameter to Drupal\migrate\Plugin\migrate\process\MigrationLookup::__construct is deprecated in drupal:8.8.0 and will throw a type error in drupal:9.0.0. Pass an instance of \Drupal\migrate\MigrateLookupInterface. See https://www.drupal.org/node/3047268 @expectedDeprecation Not passing the migrate stub service as the sixth parameter to Drupal\migrate\Plugin\migrate\process\MigrationLookup::__construct is deprecated in drupal:8.8.0 and will throw a type error in drupal:9.0.0. Pass an instance of \Drupal\migrate\MigrateStubInterface. See https://www.drupal.org/node/3047268

Parameters

array $source_id_values: The source id(s) of the migration map.

array $destination_id_values: The destination id(s) of the migration map.

string|array $source_value: The source value(s) for the migration process plugin.

string|array $expected_value: The expected value(s) of the migration process plugin.

Throws

\Drupal\migrate\MigrateSkipProcessException

File

core/modules/migrate/tests/src/Unit/process/MigrationTest.php, line 142

Class

MigrationTest
@coversDefaultClass \Drupal\migrate\Plugin\migrate\process\Migration @group migrate @group legacy

Namespace

Drupal\Tests\migrate\Unit\process

Code

public function testSuccessfulLookup(array $source_id_values, array $destination_id_values, $source_value, $expected_value) {
  $configuration = [
    'migration' => 'foobaz',
  ];
  $this->migrateLookup
    ->lookup('foobaz', $source_id_values)
    ->willReturn([
    $destination_id_values,
  ]);
  $this
    ->prepareContainer();
  $migration = new Migration($configuration, 'migration', [], $this->migration_plugin
    ->reveal(), $this->migration_plugin_manager
    ->reveal(), $this->process_plugin_manager
    ->reveal());
  $this
    ->assertSame($expected_value, $migration
    ->transform($source_value, $this->migrateExecutable, $this->row, 'foo'));
}