Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / modules / contrib / media_entity / tests / src / FunctionalJavascript / MediaViewsWizardTest.php
1 <?php
2
3 namespace Drupal\Tests\media_entity\FunctionalJavascript;
4
5 use Drupal\views\Views;
6
7 /**
8  * Tests the media entity type integration into the wizard.
9  *
10  * @group media_entity
11  *
12  * @see \Drupal\media_entity\Plugin\views\wizard\Media
13  * @see \Drupal\media_entity\Plugin\views\wizard\MediaRevision
14  */
15 class MediaViewsWizardTest extends MediaEntityJavascriptTestBase {
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     $session->wait(2000);
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);
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     $session->wait(2000);
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);
70
71     $view = Views::getView($view_id);
72     $view->initHandlers();
73     $row = $view->display_handler->getOption('row');
74     $this->assertEquals($row['type'], 'fields');
75
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);
80
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');
86
87   }
88
89 }