94e89c6aeee892a819651a8c9d418b1233f85625
[yaffs-website] / web / core / modules / media / tests / src / FunctionalJavascript / MediaViewsWizardTest.php
1 <?php
2
3 namespace Drupal\Tests\media\FunctionalJavascript;
4
5 use Drupal\views\Views;
6
7 /**
8  * Tests the media entity type integration into the wizard.
9  *
10  * @group media
11  *
12  * @see \Drupal\media\Plugin\views\wizard\Media
13  * @see \Drupal\media\Plugin\views\wizard\MediaRevision
14  */
15 class MediaViewsWizardTest extends MediaJavascriptTestBase {
16
17   /**
18    * Tests adding a view of media.
19    */
20   public function testMediaWizard() {
21     $session = $this->getSession();
22     $page = $session->getPage();
23     $assert_session = $this->assertSession();
24
25     $view_id = strtolower($this->randomMachineName(16));
26     $this->drupalGet('admin/structure/views/add');
27     $page->fillField('label', $view_id);
28     $this->waitUntilVisible('.machine-name-value');
29     $page->selectFieldOption('show[wizard_key]', 'media');
30     $result = $assert_session->waitForElementVisible('css', 'select[data-drupal-selector="edit-show-type"]');
31     $this->assertNotEmpty($result);
32     $page->checkField('page[create]');
33     $page->fillField('page[path]', $this->randomMachineName(16));
34     $page->pressButton('Save and edit');
35     $this->assertEquals($session->getCurrentUrl(), $this->baseUrl . '/admin/structure/views/view/' . $view_id);
36
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');
48
49   }
50
51   /**
52    * Tests adding a view of media revisions.
53    */
54   public function testMediaRevisionWizard() {
55     $session = $this->getSession();
56     $page = $session->getPage();
57     $assert_session = $this->assertSession();
58
59     $view_id = strtolower($this->randomMachineName(16));
60     $this->drupalGet('admin/structure/views/add');
61     $page->fillField('label', $view_id);
62     $this->waitUntilVisible('.machine-name-value');
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     $this->assertEquals($session->getCurrentUrl(), $this->baseUrl . '/admin/structure/views/view/' . $view_id);
69
70     $view = Views::getView($view_id);
71     $view->initHandlers();
72     $row = $view->display_handler->getOption('row');
73     $this->assertEquals($row['type'], 'fields');
74
75     // Check for the default filters.
76     $this->assertEquals($view->filter['status']->table, 'media_field_revision');
77     $this->assertEquals($view->filter['status']->field, 'status');
78     $this->assertTrue($view->filter['status']->value);
79
80     // Check for the default fields.
81     $this->assertEquals($view->field['name']->table, 'media_field_revision');
82     $this->assertEquals($view->field['name']->field, 'name');
83     $this->assertEquals($view->field['changed']->table, 'media_field_revision');
84     $this->assertEquals($view->field['changed']->field, 'changed');
85   }
86
87 }