3 namespace Drupal\Tests\media\FunctionalJavascript;
5 use Drupal\views\Views;
8 * Tests the media entity type integration into the wizard.
12 * @see \Drupal\media\Plugin\views\wizard\Media
13 * @see \Drupal\media\Plugin\views\wizard\MediaRevision
15 class MediaViewsWizardTest extends MediaJavascriptTestBase {
18 * Tests adding a view of media.
20 public function testMediaWizard() {
21 $session = $this->getSession();
22 $page = $session->getPage();
23 $assert_session = $this->assertSession();
25 $this->createMediaType('test');
27 $view_id = strtolower($this->randomMachineName(16));
28 $this->drupalGet('admin/structure/views/add');
29 $page->fillField('label', $view_id);
30 $this->waitUntilVisible('.machine-name-value');
31 $page->selectFieldOption('show[wizard_key]', 'media');
32 $result = $assert_session->waitForElementVisible('css', 'select[data-drupal-selector="edit-show-type"]');
33 $this->assertNotEmpty($result);
34 $page->checkField('page[create]');
35 $page->fillField('page[path]', $this->randomMachineName(16));
36 $page->pressButton('Save and edit');
37 $this->assertSame($session->getCurrentUrl(), $this->baseUrl . '/admin/structure/views/view/' . $view_id);
39 $view = Views::getView($view_id);
40 $view->initHandlers();
41 $row = $view->display_handler->getOption('row');
42 $this->assertSame($row['type'], 'fields');
43 // Check for the default filters.
44 $this->assertSame($view->filter['status']->table, 'media_field_data');
45 $this->assertSame($view->filter['status']->field, 'status');
46 $this->assertTrue($view->filter['status']->value);
47 // Check for the default fields.
48 $this->assertSame($view->field['name']->table, 'media_field_data');
49 $this->assertSame($view->field['name']->field, 'name');
54 * Tests adding a view of media revisions.
56 public function testMediaRevisionWizard() {
57 $session = $this->getSession();
58 $page = $session->getPage();
59 $assert_session = $this->assertSession();
61 $view_id = strtolower($this->randomMachineName(16));
62 $this->drupalGet('admin/structure/views/add');
63 $page->fillField('label', $view_id);
64 $this->waitUntilVisible('.machine-name-value');
65 $page->selectFieldOption('show[wizard_key]', 'media_revision');
66 $assert_session->assertWaitOnAjaxRequest();
67 $page->checkField('page[create]');
68 $page->fillField('page[path]', $this->randomMachineName(16));
69 $page->pressButton('Save and edit');
70 $this->assertSame($session->getCurrentUrl(), $this->baseUrl . '/admin/structure/views/view/' . $view_id);
72 $view = Views::getView($view_id);
73 $view->initHandlers();
74 $row = $view->display_handler->getOption('row');
75 $this->assertSame($row['type'], 'fields');
77 // Check for the default filters.
78 $this->assertSame($view->filter['status']->table, 'media_field_revision');
79 $this->assertSame($view->filter['status']->field, 'status');
80 $this->assertTrue($view->filter['status']->value);
82 // Check for the default fields.
83 $this->assertSame($view->field['name']->table, 'media_field_revision');
84 $this->assertSame($view->field['name']->field, 'name');
85 $this->assertSame($view->field['changed']->table, 'media_field_revision');
86 $this->assertSame($view->field['changed']->field, 'changed');