function NoSourcePluginDecoratorTest::testGetDefinitions

@covers ::getDefinitions
@dataProvider providerGetDefinitions

File

core/modules/migrate/tests/src/Unit/Plugin/NoSourcePluginDecoratorTest.php, line 23

Class

NoSourcePluginDecoratorTest
@coversDefaultClass \Drupal\migrate\Plugin\NoSourcePluginDecorator[[api-linebreak]] @group migrate

Namespace

Drupal\Tests\migrate\Unit\Plugin

Code

public function testGetDefinitions(array $definition, bool $source_exists) : void {
  $source_manager = $this->createMock(MigrateSourcePluginManager::class);
  $source_manager->expects($this->any())
    ->method('hasDefinition')
    ->willReturn($source_exists);
  $container = new ContainerBuilder();
  $container->set('plugin.manager.migrate.source', $source_manager);
  \Drupal::setContainer($container);
  $discovery_interface = $this->createMock(DiscoveryInterface::class);
  $discovery_interface->expects($this->once())
    ->method('getDefinitions')
    ->willReturn([
    $definition,
  ]);
  $decorator = new NoSourcePluginDecorator($discovery_interface);
  $results = $decorator->getDefinitions();
  if ($source_exists) {
    $this->assertEquals([
      $definition,
    ], $results);
  }
  else {
    $this->assertEquals([], $results);
  }
}

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