diff --git a/core/modules/migrate/tests/src/Unit/process/MigrationLookupTest.php b/core/modules/migrate/tests/src/Unit/process/MigrationLookupTest.php index f30c184..676adf1 100644 --- a/core/modules/migrate/tests/src/Unit/process/MigrationLookupTest.php +++ b/core/modules/migrate/tests/src/Unit/process/MigrationLookupTest.php @@ -4,6 +4,7 @@ use Drupal\Core\Entity\EntityStorageInterface; use Drupal\migrate\MigrateSkipProcessException; +use Drupal\migrate\Plugin\migrate\destination\EntityConfigBase; use Drupal\migrate\Plugin\MigrationInterface; use Drupal\migrate\Plugin\migrate\process\MigrationLookup; use Drupal\migrate\Plugin\MigrateDestinationInterface; @@ -47,6 +48,20 @@ public function testTransformWithStubSkipping() { $migration = new MigrationLookup($configuration, '', [], $migration_plugin->reveal(), $migration_plugin_manager->reveal(), $process_plugin_manager->reveal()); $result = $migration->transform(1, $this->migrateExecutable, $this->row, ''); $this->assertNull($result); + + // Ensure that a config entity destination behaves like no_stub=TRUE. + $destination_migration_destination_plugin = $this->prophesize(EntityConfigBase::class); + $destination_migration->getDestinationPlugin(TRUE)->shouldBeCalled(); + $destination_migration->getDestinationPlugin(TRUE)->willReturn($destination_migration_destination_plugin->reveal()); + $migration_plugin_manager->createInstances(Argument::exact(['config_destination_migration'])) + ->willReturn(['config_destination_migration' => $destination_migration->reveal()]); + $config_migration_configuration = [ + 'no_stub' => FALSE, + 'migration' => 'config_destination_migration', + ]; + $config_migration = new MigrationLookup($config_migration_configuration, '', [], $migration_plugin->reveal(), $migration_plugin_manager->reveal(), $process_plugin_manager->reveal()); + $result = $config_migration->transform(1, $this->migrateExecutable, $this->row, ''); + $this->assertNull($result, 'Configuration entities are not stubbed in migration lookups.'); } /**