You are here

public function MediaViewsWizardTest::testMediaWizard in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/media/tests/src/FunctionalJavascript/MediaViewsWizardTest.php \Drupal\Tests\media\FunctionalJavascript\MediaViewsWizardTest::testMediaWizard()

Tests adding a view of media.

File

core/modules/media/tests/src/FunctionalJavascript/MediaViewsWizardTest.php, line 25

Class

MediaViewsWizardTest
Tests the media entity type integration into the wizard.

Namespace

Drupal\Tests\media\FunctionalJavascript

Code

public function testMediaWizard() {
  $session = $this
    ->getSession();
  $page = $session
    ->getPage();
  $assert_session = $this
    ->assertSession();
  $this
    ->createMediaType('test');
  $view_id = strtolower($this
    ->randomMachineName(16));
  $this
    ->drupalGet('admin/structure/views/add');
  $page
    ->fillField('label', $view_id);
  $this
    ->waitUntilVisible('.machine-name-value');
  $page
    ->selectFieldOption('show[wizard_key]', 'media');
  $result = $assert_session
    ->waitForElementVisible('css', 'select[data-drupal-selector="edit-show-type"]');
  $this
    ->assertNotEmpty($result);
  $page
    ->checkField('page[create]');
  $page
    ->fillField('page[path]', $this
    ->randomMachineName(16));
  $page
    ->pressButton('Save and edit');
  $this
    ->assertSame($session
    ->getCurrentUrl(), $this->baseUrl . '/admin/structure/views/view/' . $view_id);
  $view = Views::getView($view_id);
  $view
    ->initHandlers();
  $row = $view->display_handler
    ->getOption('row');
  $this
    ->assertSame($row['type'], 'fields');

  // Check for the default filters.
  $this
    ->assertSame($view->filter['status']->table, 'media_field_data');
  $this
    ->assertSame($view->filter['status']->field, 'status');
  $this
    ->assertSame($view->filter['status']->value, '1');

  // Check for the default fields.
  $this
    ->assertSame($view->field['name']->table, 'media_field_data');
  $this
    ->assertSame($view->field['name']->field, 'name');
}