You are here

public function PluginInstanceConverterTest::testConvertWithKnownPlugin in Plugin 8.2

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

File

tests/src/Unit/ParamConverter/PluginInstanceConverterTest.php, line 135

Class

PluginInstanceConverterTest
@coversDefaultClass \Drupal\plugin\ParamConverter\PluginInstanceConverter

Namespace

Drupal\Tests\plugin\Unit\ParamConverter

Code

public function testConvertWithKnownPlugin() {
  $plugin_type_id = 'foo_bar.baz';
  $definition = [
    'plugin.plugin_instance' => [
      'plugin_type_id' => $plugin_type_id,
    ],
  ];
  $plugin_id = 'foozaar.bazaar';
  $name = 'foo_bar';
  $defaults = [];
  $plugin_instance = new \stdClass();
  $plugin_manager = $this
    ->prophesize(PluginManagerInterface::class);
  $plugin_manager
    ->hasDefinition($plugin_id)
    ->willReturn(TRUE);
  $plugin_manager
    ->createInstance($plugin_id)
    ->willReturn($plugin_instance);
  $plugin_type = $this
    ->prophesize(PluginTypeInterface::class);
  $plugin_type
    ->getPluginManager()
    ->willReturn($plugin_manager);
  $this->pluginTypeManager
    ->getPluginType($plugin_type_id)
    ->willReturn($plugin_type);
  $this
    ->assertSame($plugin_instance, $this->sut
    ->convert($plugin_id, $definition, $name, $defaults));
}