You are here

public function PluginManagerDecoratorTest::testCreateInstanceWithExistingPluginAndOverriddenDiscovery in Plugin 8.2

@covers ::__construct @covers ::createInstance

File

tests/src/Unit/PluginManager/PluginManagerDecoratorTest.php, line 80

Class

PluginManagerDecoratorTest
@coversDefaultClass \Drupal\plugin\PluginManager\PluginManagerDecorator

Namespace

Drupal\Tests\plugin\Unit\PluginManager

Code

public function testCreateInstanceWithExistingPluginAndOverriddenDiscovery() {
  $plugin_manager = $this
    ->createMock(PluginManagerInterface::class);
  $this->decoratedDiscovery = $this
    ->createMock(DiscoveryInterface::class);
  $this->decoratedFactory = $plugin_manager;
  $this->sut = new PluginManagerDecorator($plugin_manager, $this->decoratedDiscovery);
  $plugin_id = $this
    ->randomMachineName();
  $plugin = $this
    ->createMock(PluginInspectionInterface::class);
  $plugin_definitions = [
    $plugin_id => [
      'id' => $plugin_id,
    ],
  ];
  $this->decoratedDiscovery
    ->expects($this
    ->once())
    ->method('getDefinitions')
    ->willReturn($plugin_definitions);
  $this->decoratedFactory
    ->expects($this
    ->once())
    ->method('createInstance')
    ->with($plugin_id)
    ->willReturn($plugin);
  $this
    ->assertSame($plugin, $this->sut
    ->createInstance($plugin_id));
}