MediaViewsWizardTest.php in Drupal 9
File
core/modules/media/tests/src/FunctionalJavascript/MediaViewsWizardTest.php
View source
<?php
namespace Drupal\Tests\media\FunctionalJavascript;
use Drupal\views\Views;
class MediaViewsWizardTest extends MediaJavascriptTestBase {
protected $defaultTheme = 'stark';
public function testMediaWizard() {
$session = $this
->getSession();
$page = $session
->getPage();
$assert_session = $this
->assertSession();
$this
->createMediaType('test');
$view_id = strtolower($this
->randomMachineName(16));
$this
->drupalGet('admin/structure/views/add');
$page
->fillField('label', $view_id);
$this
->waitUntilVisible('.machine-name-value');
$page
->selectFieldOption('show[wizard_key]', 'media');
$result = $assert_session
->waitForElementVisible('css', 'select[data-drupal-selector="edit-show-type"]');
$this
->assertNotEmpty($result);
$page
->checkField('page[create]');
$page
->fillField('page[path]', $this
->randomMachineName(16));
$page
->pressButton('Save and edit');
$this
->assertSame($session
->getCurrentUrl(), $this->baseUrl . '/admin/structure/views/view/' . $view_id);
$view = Views::getView($view_id);
$view
->initHandlers();
$row = $view->display_handler
->getOption('row');
$this
->assertSame($row['type'], 'fields');
$this
->assertSame($view->filter['status']->table, 'media_field_data');
$this
->assertSame($view->filter['status']->field, 'status');
$this
->assertSame($view->filter['status']->value, '1');
$this
->assertSame($view->field['name']->table, 'media_field_data');
$this
->assertSame($view->field['name']->field, 'name');
}
public function testMediaRevisionWizard() {
$session = $this
->getSession();
$page = $session
->getPage();
$assert_session = $this
->assertSession();
$view_id = strtolower($this
->randomMachineName(16));
$this
->drupalGet('admin/structure/views/add');
$page
->fillField('label', $view_id);
$this
->waitUntilVisible('.machine-name-value');
$page
->selectFieldOption('show[wizard_key]', 'media_revision');
$assert_session
->assertWaitOnAjaxRequest();
$page
->checkField('page[create]');
$page
->fillField('page[path]', $this
->randomMachineName(16));
$page
->pressButton('Save and edit');
$this
->assertSame($session
->getCurrentUrl(), $this->baseUrl . '/admin/structure/views/view/' . $view_id);
$view = Views::getView($view_id);
$view
->initHandlers();
$row = $view->display_handler
->getOption('row');
$this
->assertSame($row['type'], 'fields');
$this
->assertSame($view->filter['status']->table, 'media_field_revision');
$this
->assertSame($view->filter['status']->field, 'status');
$this
->assertSame($view->filter['status']->value, '1');
$this
->assertSame($view->field['name']->table, 'media_field_revision');
$this
->assertSame($view->field['name']->field, 'name');
$this
->assertSame($view->field['changed']->table, 'media_field_revision');
$this
->assertSame($view->field['changed']->field, 'changed');
}
}