entity_browser-8.x-2.x-dev/tests/src/Kernel/Plugin/FieldWidgetDisplayTest.php
tests/src/Kernel/Plugin/FieldWidgetDisplayTest.php
<?php namespace Drupal\Tests\entity_browser\Kernel\Plugin; use Drupal\KernelTests\KernelTestBase; /** * Tests field widget display plugins. * * @group entity_browser */ class FieldWidgetDisplayTest extends KernelTestBase { /** * Modules to enable. * * @var array */ protected static $modules = [ 'entity_browser', 'image', 'comment', ]; /** * Field widget display plugin manager. * * @var \Drupal\entity_browser\FieldWidgetDisplayManager */ protected $pluginManager; /** * {@inheritdoc} */ protected function setUp(): void { parent::setUp(); $this->pluginManager = $this->container->get('plugin.manager.entity_browser.field_widget_display'); $image_style = $this->container->get('entity_type.manager')->getStorage('image_style'); $image_style->create(['name' => 'thumbnail', 'label' => 'Thumbnail'])->save(); $image_style->create(['name' => 'large', 'label' => 'Large'])->save(); $comment_type = $this->container->get('entity_type.manager')->getStorage('comment_type'); $comment_type->create(['id' => 'comment', 'label' => 'Comment'])->save(); $view_mode = $this->container->get('entity_type.manager')->getStorage('entity_view_mode'); $view_mode->create(['id' => 'comment.full', 'targetEntityType' => 'comment'])->save(); } /** * Test field widget display plugins configuration and dependencies. */ public function testDefaultConfiguration() { // Check default configuration for image thumbnail plugin. $image_thumbnail_plugin = $this->pluginManager->createInstance('thumbnail'); $this->assertEquals(['image_style' => 'thumbnail'], $image_thumbnail_plugin->defaultConfiguration()); $this->assertEquals(['image_style' => 'thumbnail'], $image_thumbnail_plugin->getConfiguration()); $this->assertEquals(['config' => [0 => 'image.style.thumbnail']], $image_thumbnail_plugin->calculateDependencies()); // Set configuration different then default. $image_thumbnail_plugin->setConfiguration(['image_style' => 'large']); $this->assertEquals(['image_style' => 'thumbnail'], $image_thumbnail_plugin->defaultConfiguration()); $this->assertEquals(['image_style' => 'large'], $image_thumbnail_plugin->getConfiguration()); $this->assertEquals(['config' => [0 => 'image.style.large']], $image_thumbnail_plugin->calculateDependencies()); // Check default configuration for rendered entity plugin. $rendered_entity_plugin = $this->pluginManager->createInstance('rendered_entity', ['entity_type' => 'comment']); $this->assertEquals(['view_mode' => 'default'], $rendered_entity_plugin->defaultConfiguration()); $this->assertEquals(['view_mode' => 'default', 'entity_type' => 'comment'], $rendered_entity_plugin->getConfiguration()); $this->assertEquals([], $rendered_entity_plugin->calculateDependencies()); // Set configuration different then default. $rendered_entity_plugin->setConfiguration(['entity_type' => 'comment', 'view_mode' => 'full']); $this->assertEquals(['view_mode' => 'default'], $rendered_entity_plugin->defaultConfiguration()); $this->assertEquals(['view_mode' => 'full', 'entity_type' => 'comment'], $rendered_entity_plugin->getConfiguration()); $this->assertEquals(['config' => [0 => 'core.entity_view_mode.comment.full']], $rendered_entity_plugin->calculateDependencies()); } }