You are here

public function PluginDefinitionConverterTest::testConvertWithKnownPlugin in Plugin 8.2

@covers ::convert @covers ::doConvert @covers ::validateParameterDefinition @covers ::getConverterDefinitionConstraint @covers ::getConverterDefinition @covers ::getConverterDefinitionKey @covers ::__construct

File

tests/src/Unit/ParamConverter/PluginDefinitionConverterTest.php, line 136

Class

PluginDefinitionConverterTest
@coversDefaultClass \Drupal\plugin\ParamConverter\PluginDefinitionConverter

Namespace

Drupal\Tests\plugin\Unit\ParamConverter

Code

public function testConvertWithKnownPlugin() {
  $plugin_type_id = 'foo_bar.baz';
  $definition = [
    'plugin.plugin_definition' => [
      'plugin_type_id' => $plugin_type_id,
    ],
  ];
  $plugin_id = 'foozaar.bazaar';
  $name = 'foo_bar';
  $defaults = [];
  $plugin_definition = $this
    ->prophesize(PluginDefinitionInterface::class);
  $plugin_manager = $this
    ->prophesize(PluginManagerInterface::class);
  $plugin_manager
    ->hasDefinition($plugin_id)
    ->willReturn(TRUE);
  $plugin_manager
    ->getDefinition($plugin_id)
    ->willReturn($plugin_definition);
  $plugin_type = $this
    ->prophesize(PluginTypeInterface::class);
  $plugin_type
    ->getPluginManager()
    ->willReturn($plugin_manager);
  $plugin_type
    ->ensureTypedPluginDefinition($plugin_definition
    ->reveal())
    ->willReturnArgument(0);
  $this->pluginTypeManager
    ->getPluginType($plugin_type_id)
    ->willReturn($plugin_type);
  $this
    ->assertSame($plugin_definition
    ->reveal(), $this->sut
    ->convert($plugin_id, $definition, $name, $defaults));
}