Commit 5cd98e7b authored by Ivan Doroshenko's avatar Ivan Doroshenko
Browse files

Issue: #3269494: Add a test for config entity lookup.

parent 962e1ca0
Loading
Loading
Loading
Loading
+38 −0
Changes for tests/src/Kernel/Plugin/migrate/process/EntityLookupTest.php: 38 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -21,6 +21,13 @@ final class EntityLookupTest extends KernelTestBase {

  use UserCreationTrait;

  /**
   * The migrate executable mock object.
   *
   * @var \Drupal\migrate\MigrateExecutable|\PHPUnit\Framework\MockObject\MockObject
   */
  protected $migrateExecutable;

  /**
   * {@inheritdoc}
   */
@@ -29,6 +36,7 @@ final class EntityLookupTest extends KernelTestBase {
    'migrate',
    'user',
    'system',
    'filter',
  ];

  /**
@@ -38,6 +46,11 @@ final class EntityLookupTest extends KernelTestBase {
    parent::setUp();
    $this->installSchema('system', ['sequences']);
    $this->installEntitySchema('user');
    $this->installConfig(['filter']);

    $this->migrateExecutable = $this->getMockBuilder('Drupal\migrate\MigrateExecutable')
      ->disableOriginalConstructor()
      ->getMock();
  }

  /**
@@ -75,4 +88,29 @@ final class EntityLookupTest extends KernelTestBase {
    $this->assertNull($value);
  }

  /**
   * Tests a lookup of config entity.
   */
  public function testConfigEntityLookup(): void {
    $migration = \Drupal::service('plugin.manager.migration')
      ->createStubMigration([
        'id' => 'test',
        'source' => [],
        'process' => [],
        'destination' => [
          'plugin' => 'entity:node',
        ],
      ]);

    $configuration = [
      'entity_type' => 'filter_format',
      'value_key' => 'name',
    ];

    $plugin = \Drupal::service('plugin.manager.migrate.process')
      ->createInstance('entity_lookup', $configuration, $migration);
    $value = $plugin->transform('Plain text', $this->migrateExecutable, new Row(), 'destination_property');
    $this->assertEquals('plain_text', $value);
  }

}