function MigrationTest::testRequirementsForMigrations
Same name in other branches
- 9 core/modules/migrate/tests/src/Unit/MigrationTest.php \Drupal\Tests\migrate\Unit\MigrationTest::testRequirementsForMigrations()
- 8.9.x core/modules/migrate/tests/src/Unit/MigrationTest.php \Drupal\Tests\migrate\Unit\MigrationTest::testRequirementsForMigrations()
- 11.x core/modules/migrate/tests/src/Unit/MigrationTest.php \Drupal\Tests\migrate\Unit\MigrationTest::testRequirementsForMigrations()
Tests checking requirements for destination plugins.
@covers ::checkRequirements
File
-
core/
modules/ migrate/ tests/ src/ Unit/ MigrationTest.php, line 102
Class
- MigrationTest
- @coversDefaultClass \Drupal\migrate\Plugin\Migration
Namespace
Drupal\Tests\migrate\UnitCode
public function testRequirementsForMigrations() : void {
$migration = new TestMigration();
// Setup source and destination plugins without any requirements.
$source_plugin = $this->createMock('Drupal\\migrate\\Plugin\\MigrateSourceInterface');
$destination_plugin = $this->createMock('Drupal\\migrate\\Plugin\\MigrateDestinationInterface');
$migration->setSourcePlugin($source_plugin);
$migration->setDestinationPlugin($destination_plugin);
$plugin_manager = $this->createMock('Drupal\\migrate\\Plugin\\MigrationPluginManagerInterface');
$migration->setMigrationPluginManager($plugin_manager);
// We setup the requirements that test_a doesn't exist and test_c is not
// completed yet.
$migration->setRequirements([
'test_a',
'test_b',
'test_c',
'test_d',
]);
$migration_b = $this->createMock(MigrationInterface::class);
$migration_c = $this->createMock(MigrationInterface::class);
$migration_d = $this->createMock(MigrationInterface::class);
$migration_b->expects($this->once())
->method('allRowsProcessed')
->willReturn(TRUE);
$migration_c->expects($this->once())
->method('allRowsProcessed')
->willReturn(FALSE);
$migration_d->expects($this->once())
->method('allRowsProcessed')
->willReturn(TRUE);
$plugin_manager->expects($this->once())
->method('createInstances')
->with([
'test_a',
'test_b',
'test_c',
'test_d',
])
->willReturn([
'test_b' => $migration_b,
'test_c' => $migration_c,
'test_d' => $migration_d,
]);
$this->expectException(RequirementsException::class);
$this->expectExceptionMessage('Missing migrations test_a, test_c');
$migration->checkRequirements();
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.