You are here

protected function MediaBrowserWidgetDisambiguationTest::setUp in Lightning Media 8.3

Overrides BrowserTestBase::setUp

File

tests/src/FunctionalJavascript/MediaBrowserWidgetDisambiguationTest.php, line 39

Class

MediaBrowserWidgetDisambiguationTest
Tests media type disambiguation in the media browser.

Namespace

Drupal\Tests\lightning_media\FunctionalJavascript

Code

protected function setUp() {
  parent::setUp();
  $this
    ->createMediaType('image', [
    'id' => 'picture',
    'label' => 'Picture',
  ]);
  $this
    ->createMediaType('video_embed_field', [
    'id' => 'advertisement',
    'label' => 'Advertisement',
  ]);
  $this
    ->createContentType([
    'type' => 'article',
    'name' => 'Article',
  ]);
  $field_storage = FieldStorageConfig::create([
    'field_name' => 'field_media',
    'entity_type' => 'node',
    'type' => 'entity_reference',
    'settings' => [
      'target_type' => 'media',
    ],
  ]);
  $field_storage
    ->save();
  FieldConfig::create([
    'field_storage' => $field_storage,
    'bundle' => 'article',
    'label' => 'Media',
    'settings' => [
      'handler_settings' => [
        'target_bundles' => NULL,
      ],
    ],
  ])
    ->save();
  lightning_media_entity_get_form_display('node', 'article', 'default')
    ->setComponent('field_media', [
    'type' => 'entity_browser_entity_reference',
    'settings' => [
      'entity_browser' => 'media_browser',
      'field_widget_display' => 'rendered_entity',
      'field_widget_edit' => TRUE,
      'field_widget_remove' => TRUE,
      'selection_mode' => EntityBrowserElement::SELECTION_MODE_APPEND,
      'field_widget_display_settings' => [
        'view_mode' => 'thumbnail',
      ],
      'open' => TRUE,
    ],
    'region' => 'content',
  ])
    ->save();
  $account = $this
    ->createUser([
    'create article content',
    'access media_browser entity browser pages',
    'create media',
  ]);
  $this
    ->drupalLogin($account);
  $page = $this
    ->getSession()
    ->getPage();
  $this
    ->drupalGet('/node/add/article');
  $page
    ->fillField('Title', 'Foo');
  $page
    ->pressButton('Add media');
  $this
    ->waitForEntityBrowser('media_browser');
}