Updated to Drupal 8.6.4, which is PHP 7.3 friendly. Also updated HTMLaw library....
[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     $this->createMediaType('test');
26
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);
38
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');
50
51   }
52
53   /**
54    * Tests adding a view of media revisions.
55    */
56   public function testMediaRevisionWizard() {
57     $session = $this->getSession();
58     $page = $session->getPage();
59     $assert_session = $this->assertSession();
60
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);
71
72     $view = Views::getView($view_id);
73     $view->initHandlers();
74     $row = $view->display_handler->getOption('row');
75     $this->assertSame($row['type'], 'fields');
76
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);
81
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');
87   }
88
89 }