Пример #1
0
 /**
  * Tests checking requirements for destination plugins.
  *
  * @covers ::checkRequirements
  *
  * @expectedException \Drupal\migrate\Exception\RequirementsException
  * @expectedExceptionMessage Missing migrations test_a, test_c
  */
 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]);
     $migration->checkRequirements();
 }
 /**
  * Tests checking requirements for destination plugins.
  *
  * @covers ::checkRequirements
  *
  * @expectedException \Drupal\migrate\Exception\RequirementsException
  * @expectedExceptionMessage Missing migrations test_a, test_c
  */
 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);
     $entity_manager = $this->getMock('Drupal\\Core\\Entity\\EntityManagerInterface');
     $migration->setEntityManager($entity_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('Drupal\\migrate\\Entity\\MigrationInterface');
     $migration_c = $this->getMock('Drupal\\migrate\\Entity\\MigrationInterface');
     $migration_d = $this->getMock('Drupal\\migrate\\Entity\\MigrationInterface');
     $migration_b->expects($this->once())->method('isComplete')->willReturn(TRUE);
     $migration_c->expects($this->once())->method('isComplete')->willReturn(FALSE);
     $migration_d->expects($this->once())->method('isComplete')->willReturn(TRUE);
     $migration_storage = $this->getMock('Drupal\\Core\\Entity\\EntityStorageInterface');
     $migration_storage->expects($this->once())->method('loadMultiple')->with(['test_a', 'test_b', 'test_c', 'test_d'])->willReturn(['test_b' => $migration_b, 'test_c' => $migration_c, 'test_d' => $migration_d]);
     $entity_manager->expects($this->once())->method('getStorage')->with('migration')->willReturn($migration_storage);
     $migration->checkRequirements();
 }