
| Current Path : /var/www/html/rocksensor1/web/core/modules/migrate/tests/src/Kernel/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/rocksensor1/web/core/modules/migrate/tests/src/Kernel/MigrationPluginManagerTest.php |
<?php
declare(strict_types=1);
namespace Drupal\Tests\migrate\Kernel;
/**
* Tests the migration plugin manager.
*
* @group migrate
*
* @coversDefaultClass \Drupal\migrate\Plugin\MigrationPluginManager
*/
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): void {
// 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 static 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' => [
'',
[],
],
];
}
}