1. 8.5.x core/modules/migrate/tests/src/Unit/process/MigrationTest.php MigrationTest
  2. 8.5.x core/modules/migrate/tests/src/Kernel/MigrationTest.php MigrationTest
  3. 8.5.x core/modules/migrate/tests/src/Unit/MigrationTest.php MigrationTest
  4. 8.5.x core/modules/migrate/tests/src/Kernel/Plugin/MigrationTest.php MigrationTest
  5. 8.0.x core/modules/migrate/tests/src/Unit/process/MigrationTest.php MigrationTest
  6. 8.0.x core/modules/migrate/tests/src/Unit/Entity/MigrationTest.php MigrationTest
  7. 8.0.x core/modules/migrate/tests/src/Unit/MigrationTest.php MigrationTest
  8. 8.0.x core/modules/migrate/src/Tests/MigrationTest.php MigrationTest
  9. 8.0.x core/modules/migrate/tests/src/Kernel/Entity/MigrationTest.php MigrationTest
  10. 8.1.x core/modules/migrate/tests/src/Kernel/Plugin/MigrationTest.php MigrationTest
  11. 8.1.x core/modules/migrate/tests/src/Unit/process/MigrationTest.php MigrationTest
  12. 8.1.x core/modules/migrate/tests/src/Unit/MigrationTest.php MigrationTest
  13. 8.1.x core/modules/migrate/tests/src/Kernel/MigrationTest.php MigrationTest
  14. 8.2.x core/modules/migrate/tests/src/Kernel/Plugin/MigrationTest.php MigrationTest
  15. 8.2.x core/modules/migrate/tests/src/Unit/MigrationTest.php MigrationTest
  16. 8.2.x core/modules/migrate/tests/src/Kernel/MigrationTest.php MigrationTest
  17. 8.2.x core/modules/migrate/tests/src/Unit/process/MigrationTest.php MigrationTest
  18. 8.3.x core/modules/migrate/tests/src/Unit/MigrationTest.php MigrationTest
  19. 8.3.x core/modules/migrate/tests/src/Kernel/MigrationTest.php MigrationTest
  20. 8.3.x core/modules/migrate/tests/src/Unit/process/MigrationTest.php MigrationTest
  21. 8.3.x core/modules/migrate/tests/src/Kernel/Plugin/MigrationTest.php MigrationTest
  22. 8.4.x core/modules/migrate/tests/src/Kernel/MigrationTest.php MigrationTest
  23. 8.4.x core/modules/migrate/tests/src/Unit/MigrationTest.php MigrationTest
  24. 8.4.x core/modules/migrate/tests/src/Kernel/Plugin/MigrationTest.php MigrationTest
  25. 8.4.x core/modules/migrate/tests/src/Unit/process/MigrationTest.php MigrationTest
  26. 8.6.x core/modules/migrate/tests/src/Unit/process/MigrationTest.php MigrationTest
  27. 8.6.x core/modules/migrate/tests/src/Kernel/Plugin/MigrationTest.php MigrationTest
  28. 8.6.x core/modules/migrate/tests/src/Unit/MigrationTest.php MigrationTest
  29. 8.6.x core/modules/migrate/tests/src/Kernel/MigrationTest.php MigrationTest

@coversDefaultClass \Drupal\migrate\Plugin\Migration

@group Migration

Hierarchy

Expanded class hierarchy of MigrationTest

File

core/modules/migrate/tests/src/Unit/MigrationTest.php, line 24
Contains \Drupal\Tests\migrate\Unit\MigrationTest.

Namespace

Drupal\Tests\migrate\Unit
View source
class MigrationTest extends UnitTestCase {

  /**
   * Tests checking requirements for source plugins.
   *
   * @covers ::checkRequirements
   */
  public function testRequirementsForSourcePlugin() {
    $migration = new TestMigration();
    $source_plugin = $this
      ->getMock('Drupal\\Tests\\migrate\\Unit\\RequirementsAwareSourceInterface');
    $source_plugin
      ->expects($this
      ->once())
      ->method('checkRequirements')
      ->willThrowException(new RequirementsException('Missing source requirement', [
      'key' => 'value',
    ]));
    $destination_plugin = $this
      ->getMock('Drupal\\Tests\\migrate\\Unit\\RequirementsAwareDestinationInterface');
    $migration
      ->setSourcePlugin($source_plugin);
    $migration
      ->setDestinationPlugin($destination_plugin);
    $this
      ->setExpectedException(RequirementsException::class, 'Missing source requirement');
    $migration
      ->checkRequirements();
  }

  /**
   * Tests checking requirements for destination plugins.
   *
   * @covers ::checkRequirements
   */
  public function testRequirementsForDestinationPlugin() {
    $migration = new TestMigration();
    $source_plugin = $this
      ->getMock('Drupal\\migrate\\Plugin\\MigrateSourceInterface');
    $destination_plugin = $this
      ->getMock('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
      ->setExpectedException(RequirementsException::class, 'Missing destination requirement');
    $migration
      ->checkRequirements();
  }

  /**
   * Tests checking requirements for destination plugins.
   *
   * @covers ::checkRequirements
   */
  public function testRequirementsForMigrations() {
    $migration = new TestMigration();

    // Setup source and destination plugins without any requirements.
    $source_plugin = $this
      ->getMock('Drupal\\migrate\\Plugin\\MigrateSourceInterface');
    $destination_plugin = $this
      ->getMock('Drupal\\migrate\\Plugin\\MigrateDestinationInterface');
    $migration
      ->setSourcePlugin($source_plugin);
    $migration
      ->setDestinationPlugin($destination_plugin);
    $plugin_manager = $this
      ->getMock('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
      ->getMock(MigrationInterface::class);
    $migration_c = $this
      ->getMock(MigrationInterface::class);
    $migration_d = $this
      ->getMock(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
      ->setExpectedException(RequirementsException::class, 'Missing migrations test_a, test_c');
    $migration
      ->checkRequirements();
  }

}

Members

Contains filters are case sensitive
Namesort descending Modifiers Type Description Overrides
MigrationTest::testRequirementsForDestinationPlugin public function Tests checking requirements for destination plugins.
MigrationTest::testRequirementsForMigrations public function Tests checking requirements for destination plugins.
MigrationTest::testRequirementsForSourcePlugin public function Tests checking requirements for source plugins.
PhpunitCompatibilityTrait::createMock public function Returns a mock object for the specified class using the available method.
PhpunitCompatibilityTrait::getMock Deprecated public function Returns a mock object for the specified class using the available method.
PhpunitCompatibilityTrait::supports private function Checks if the trait is used in a class that has a method.
UnitTestCase::$randomGenerator protected property The random generator.
UnitTestCase::$root protected property The app root.
UnitTestCase::assertArrayEquals protected function Asserts if two arrays are equal by sorting them first.
UnitTestCase::getBlockMockWithMachineName protected function Mocks a block with a block plugin.
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed in array.
UnitTestCase::getConfigStorageStub public function Returns a stub config storage that returns the supplied configuration.
UnitTestCase::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getRandomGenerator protected function Gets the random generator for the utility methods.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::randomMachineName public function Generates a unique random string containing letters and numbers.
UnitTestCase::setUp protected function