You are here

protected function QuickEditMediaBrowserTest::setUp in Lightning Media 8.3

Overrides BrowserTestBase::setUp

File

tests/src/FunctionalJavascript/QuickEditMediaBrowserTest.php, line 47

Class

QuickEditMediaBrowserTest
@group lightning_media

Namespace

Drupal\Tests\lightning_media\FunctionalJavascript

Code

protected function setUp() {
  parent::setUp();

  // Create image field on page.
  $this
    ->createEntityReferenceField('node', 'page', 'field_image', 'Image', 'media', 'default:media', [
    'target_bundles' => [
      'image' => 'image',
    ],
  ], 1);
  $entity_type_manager = $this->container
    ->get('entity_type.manager');
  $entity_type_manager
    ->getStorage('entity_form_display')
    ->load('node.page.default')
    ->setComponent('field_image', [
    '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();
  $entity_type_manager
    ->getStorage('entity_view_display')
    ->load('node.page.default')
    ->setComponent('field_image', [
    'type' => 'entity_reference_entity_view',
    'label' => 'above',
    'settings' => [
      'view_mode' => 'default',
    ],
  ])
    ->save();

  // Create image.
  $uri = $this
    ->getRandomGenerator()
    ->image('public://test_image.png', '240x240', '640x480');
  $file = File::create([
    'uri' => $uri,
    'filename' => 'test_image.png',
  ]);
  $file
    ->setMimeType('image/png');
  $file
    ->setTemporary();
  $file
    ->save();
  $image = Media::create([
    'bundle' => 'image',
    'name' => 'Foo',
    'image' => [
      'target_id' => $file
        ->id(),
      'alt' => 'Test Alt 1',
    ],
    'field_media_in_library' => TRUE,
  ]);
  $image
    ->save();

  // Create page.
  $node = $this
    ->drupalCreateNode([
    'field_image' => [
      'target_id' => $image
        ->id(),
    ],
  ]);
  $this->nodeId = $node
    ->id();

  // Navigate to page.
  $user = $this
    ->drupalCreateUser([], NULL, TRUE);
  $this
    ->drupalLogin($user);
  $url = $node
    ->toUrl()
    ->toString();
  $this
    ->drupalGet($url);
}