class MigrationPluginManagerTest in Drupal 10
Same name in this branch
- 10 core/modules/migrate/tests/src/Unit/MigrationPluginManagerTest.php \Drupal\Tests\migrate\Unit\MigrationPluginManagerTest
- 10 core/modules/migrate/tests/src/Kernel/MigrationPluginManagerTest.php \Drupal\Tests\migrate\Kernel\MigrationPluginManagerTest
Same name and namespace in other branches
- 9 core/modules/migrate/tests/src/Kernel/MigrationPluginManagerTest.php \Drupal\Tests\migrate\Kernel\MigrationPluginManagerTest
Tests the migration plugin manager.
@group migrate
@coversDefaultClass \Drupal\migrate\Plugin\MigrationPluginManager
Hierarchy
- class \Drupal\KernelTests\KernelTestBase extends \PHPUnit\Framework\TestCase implements ServiceProviderInterface uses \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait, AssertContentTrait, ConfigTestTrait, ExtensionListTestTrait, RandomGeneratorTrait, TestRequirementsTrait, PhpUnitWarnings
- class \Drupal\Tests\migrate\Kernel\MigrateTestBase implements MigrateMessageInterface
- class \Drupal\Tests\migrate\Kernel\MigrationPluginManagerTest
- class \Drupal\Tests\migrate\Kernel\MigrateTestBase implements MigrateMessageInterface
Expanded class hierarchy of MigrationPluginManagerTest
File
- core/
modules/ migrate/ tests/ src/ Kernel/ MigrationPluginManagerTest.php, line 12
Namespace
Drupal\Tests\migrate\KernelView source
class MigrationPluginManagerTest extends MigrateTestBase {
/**
* {@inheritdoc}
*/
protected static $modules = [
'migrate',
'migrate_tag_test',
];
/**
* The migration plugin manager.
*
* @var \Drupal\migrate\Plugin\MigrationPluginManager
*/
protected $migrationPluginManager;
/**
* {@inheritdoc}
*/
protected function setUp() : void {
parent::setUp();
$this->migrationPluginManager = \Drupal::service('plugin.manager.migration');
}
/**
* Tests Migration::createInstancesByTag().
*
* @covers ::createInstancesByTag
*
* @dataProvider providerCreateInstanceByTag
*/
public function testCreateInstancesByTag($tags, $expected) {
// The test module includes a migration that does not use the migration_tags
// property. It is there to confirm that it is not included in the results.
// We create it to ensure it is a valid migration.
$migration = $this->migrationPluginManager
->createInstances([
'tag_test_no_tag',
]);
$this
->assertArrayHasKey('tag_test_no_tag', $migration);
$migrations = $this->migrationPluginManager
->createInstancesByTag($tags);
$actual = array_keys($migrations);
$this
->assertSame($expected, $actual);
}
/**
* Data provider for testCreateInstancesByTag.
*/
public function providerCreateInstanceByTag() {
return [
'get test' => [
'test',
[
'tag_test_0',
'tag_test_1',
],
],
'get tag_test_1' => [
'tag_test_1',
[
'tag_test_1',
],
],
'get no tags' => [
'',
[],
],
];
}
}