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 @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.