function MigrateExecutableTest::testImportWithValidRow

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

Tests the import method with a valid row.

File

core/modules/migrate/tests/src/Unit/MigrateExecutableTest.php, line 90

Class

MigrateExecutableTest
@coversDefaultClass \Drupal\migrate\MigrateExecutable[[api-linebreak]] @group migrate

Namespace

Drupal\Tests\migrate\Unit

Code

public function testImportWithValidRow() {
  $source = $this->getMockSource();
  $row = $this->getMockBuilder('Drupal\\migrate\\Row')
    ->disableOriginalConstructor()
    ->getMock();
  $row->expects($this->once())
    ->method('getSourceIdValues')
    ->will($this->returnValue([
    'id' => 'test',
  ]));
  $this->idMap
    ->expects($this->once())
    ->method('lookupDestinationIds')
    ->with([
    'id' => 'test',
  ])
    ->will($this->returnValue([
    [
      'test',
    ],
  ]));
  $source->expects($this->once())
    ->method('current')
    ->will($this->returnValue($row));
  $this->executable
    ->setSource($source);
  $this->migration
    ->expects($this->once())
    ->method('getProcessPlugins')
    ->will($this->returnValue([]));
  $destination = $this->createMock('Drupal\\migrate\\Plugin\\MigrateDestinationInterface');
  $destination->expects($this->once())
    ->method('import')
    ->with($row, [
    'test',
  ])
    ->will($this->returnValue([
    'id' => 'test',
  ]));
  $this->migration
    ->method('getDestinationPlugin')
    ->willReturn($destination);
  $this->assertSame(MigrationInterface::RESULT_COMPLETED, $this->executable
    ->import());
}

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