3 namespace Drupal\Tests\media_entity\FunctionalJavascript;
5 use Drupal\views\Views;
8 * Tests the media entity type integration into the wizard.
12 * @see \Drupal\media_entity\Plugin\views\wizard\Media
13 * @see \Drupal\media_entity\Plugin\views\wizard\MediaRevision
15 class MediaViewsWizardTest extends MediaEntityJavascriptTestBase {
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 $view_id = strtolower($this->randomMachineName(16));
26 $this->drupalGet('admin/structure/views/add');
27 $page->fillField('label', $view_id);
29 $page->selectFieldOption('show[wizard_key]', 'media');
30 $assert_session->assertWaitOnAjaxRequest();
31 $page->checkField('page[create]');
32 $page->fillField('page[path]', $this->randomMachineName(16));
33 $page->pressButton('Save and edit');
34 $assert_session->assertWaitOnAjaxRequest();
35 $this->assertEquals($session->getCurrentUrl(), $this->baseUrl . '/admin/structure/views/view/' . $view_id);
37 $view = Views::getView($view_id);
38 $view->initHandlers();
39 $row = $view->display_handler->getOption('row');
40 $this->assertEquals($row['type'], 'fields');
41 // Check for the default filters.
42 $this->assertEquals($view->filter['status']->table, 'media_field_data');
43 $this->assertEquals($view->filter['status']->field, 'status');
44 $this->assertTrue($view->filter['status']->value);
45 // Check for the default fields.
46 $this->assertEquals($view->field['name']->table, 'media_field_data');
47 $this->assertEquals($view->field['name']->field, 'name');
52 * Tests adding a view of media revisions.
54 public function testMediaRevisionWizard() {
55 $session = $this->getSession();
56 $page = $session->getPage();
57 $assert_session = $this->assertSession();
59 $view_id = strtolower($this->randomMachineName(16));
60 $this->drupalGet('admin/structure/views/add');
61 $page->fillField('label', $view_id);
63 $page->selectFieldOption('show[wizard_key]', 'media_revision');
64 $assert_session->assertWaitOnAjaxRequest();
65 $page->checkField('page[create]');
66 $page->fillField('page[path]', $this->randomMachineName(16));
67 $page->pressButton('Save and edit');
68 $assert_session->assertWaitOnAjaxRequest();
69 $this->assertEquals($session->getCurrentUrl(), $this->baseUrl . '/admin/structure/views/view/' . $view_id);
71 $view = Views::getView($view_id);
72 $view->initHandlers();
73 $row = $view->display_handler->getOption('row');
74 $this->assertEquals($row['type'], 'fields');
76 // Check for the default filters.
77 $this->assertEquals($view->filter['status']->table, 'media_field_revision');
78 $this->assertEquals($view->filter['status']->field, 'status');
79 $this->assertTrue($view->filter['status']->value);
81 // Check for the default fields.
82 $this->assertEquals($view->field['name']->table, 'media_field_revision');
83 $this->assertEquals($view->field['name']->field, 'name');
84 $this->assertEquals($view->field['changed']->table, 'media_field_revision');
85 $this->assertEquals($view->field['changed']->field, 'changed');