MigrateLookupTest.php
Same filename in this branch
Same filename in other branches
- 9 core/modules/migrate/tests/src/Unit/MigrateLookupTest.php
- 9 core/modules/migrate/tests/src/Kernel/MigrateLookupTest.php
- 10 core/modules/migrate/tests/src/Unit/MigrateLookupTest.php
- 10 core/modules/migrate/tests/src/Kernel/MigrateLookupTest.php
- 11.x core/modules/migrate/tests/src/Unit/MigrateLookupTest.php
- 11.x core/modules/migrate/tests/src/Kernel/MigrateLookupTest.php
Namespace
Drupal\Tests\migrate\UnitFile
-
core/
modules/ migrate/ tests/ src/ Unit/ MigrateLookupTest.php
View source
<?php
namespace Drupal\Tests\migrate\Unit;
use Drupal\Component\Plugin\Exception\PluginNotFoundException;
use Drupal\migrate\MigrateLookup;
use Drupal\migrate\Plugin\MigrateDestinationInterface;
use Drupal\migrate\Plugin\MigrateIdMapInterface;
use Drupal\migrate\Plugin\MigrationInterface;
use Drupal\migrate\Plugin\MigrationPluginManagerInterface;
/**
* Provides unit testing for the migration lookup service.
*
* @group migrate
*
* @coversDefaultClass \Drupal\migrate\MigrateLookup
*/
class MigrateLookupTest extends MigrateTestCase {
/**
* Tests the lookup function.
*
* @covers ::lookup
*/
public function testLookup() {
$source_ids = [
'id' => '1',
];
$destination_ids = [
[
2,
],
];
$id_map = $this->prophesize(MigrateIdMapInterface::class);
$id_map->lookupDestinationIds($source_ids)
->willReturn($destination_ids);
$destination = $this->prophesize(MigrateDestinationInterface::class);
$destination->getIds()
->willReturn([
'id' => [
'type' => 'integer',
],
]);
$migration = $this->prophesize(MigrationInterface::class);
$migration->getIdMap()
->willReturn($id_map->reveal());
$migration->getDestinationPlugin()
->willReturn($destination->reveal());
$plugin_manager = $this->prophesize(MigrationPluginManagerInterface::class);
$plugin_manager->createInstances('test_migration')
->willReturn([
$migration->reveal(),
]);
$lookup = new MigrateLookup($plugin_manager->reveal());
$this->assertSame([
[
'id' => 2,
],
], $lookup->lookup('test_migration', $source_ids));
}
/**
* Tests that an appropriate message is logged if a PluginException is thrown.
*/
public function testExceptionOnMigrationNotFound() {
$migration_plugin_manager = $this->prophesize(MigrationPluginManagerInterface::class);
$migration_plugin_manager->createInstances('bad_plugin')
->willReturn([]);
$this->expectException(PluginNotFoundException::class);
$lookup = new MigrateLookup($migration_plugin_manager->reveal());
$lookup->lookup('bad_plugin', [
1,
]);
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
MigrateLookupTest | Provides unit testing for the migration lookup service. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.