function MigrationTest::testRequirementsForDestinationPlugin

Same name and namespace in other branches
  1. 9 core/modules/migrate/tests/src/Unit/MigrationTest.php \Drupal\Tests\migrate\Unit\MigrationTest::testRequirementsForDestinationPlugin()
  2. 8.9.x core/modules/migrate/tests/src/Unit/MigrationTest.php \Drupal\Tests\migrate\Unit\MigrationTest::testRequirementsForDestinationPlugin()
  3. 10 core/modules/migrate/tests/src/Unit/MigrationTest.php \Drupal\Tests\migrate\Unit\MigrationTest::testRequirementsForDestinationPlugin()

Tests checking requirements for destination plugins.

@covers ::checkRequirements

File

core/modules/migrate/tests/src/Unit/MigrationTest.php, line 76

Class

MigrationTest
@coversDefaultClass <a href="/api/drupal/core%21modules%21migrate%21src%21Plugin%21Migration.php/class/Migration/11.x" title="Defines the Migration plugin." class="local">\Drupal\migrate\Plugin\Migration</a>

Namespace

Drupal\Tests\migrate\Unit

Code

public function testRequirementsForDestinationPlugin() : void {
    $migration = new TestMigration();
    $source_plugin = $this->createMock('Drupal\\migrate\\Plugin\\MigrateSourceInterface');
    $destination_plugin = $this->createMock('Drupal\\Tests\\migrate\\Unit\\RequirementsAwareDestinationInterface');
    $destination_plugin->expects($this->once())
        ->method('checkRequirements')
        ->willThrowException(new RequirementsException('Missing destination requirement', [
        'key' => 'value',
    ]));
    $migration->setSourcePlugin($source_plugin);
    $migration->setDestinationPlugin($destination_plugin);
    $this->expectException(RequirementsException::class);
    $this->expectExceptionMessage('Missing destination requirement');
    $migration->checkRequirements();
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.