JavascriptTest.php in Display Suite 8.3
File
tests/src/FunctionalJavascript/JavascriptTest.php
View source
<?php
namespace Drupal\Tests\ds\FunctionalJavascript;
use Drupal\Core\Entity\Entity\EntityViewDisplay;
use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
class JavascriptTest extends WebDriverTestBase {
protected $defaultTheme = 'stark';
public static $modules = [
'node',
'user',
'field_ui',
'ds',
];
protected $adminUser;
protected function setUp() {
parent::setUp();
$this->adminUser = $this
->drupalCreateUser([
'access content',
'admin display suite',
'admin fields',
'administer nodes',
'administer content types',
'administer node fields',
'administer node form display',
'administer node display',
]);
$this
->drupalLogin($this->adminUser);
$this
->drupalCreateContentType([
'type' => 'article',
'name' => 'Article',
]);
}
public function testSettings() {
$this
->drupalGet('admin/structure/types/manage/article/display');
$page = $this
->getSession()
->getPage();
$page
->selectFieldOption('ds_layout', 'ds_2col');
$this
->assertSession()
->assertWaitOnAjaxRequest();
$this
->assertSession()
->pageTextContains('ds-2col--node.html.twig');
$page
->pressButton('Save');
$this
->drupalGet('admin/structure/types/manage/article/display');
$this
->assertSession()
->fieldValueEquals('fields[body][region]', 'left');
$display = EntityViewDisplay::load('node.article.default');
$settings = $display
->getThirdPartySetting('ds', 'layout');
$this
->assertSame($settings['id'], 'ds_2col');
$page
->selectFieldOption('ds_layout', '');
$this
->assertSession()
->assertWaitOnAjaxRequest();
$page
->pressButton('Save');
$this
->drupalGet('admin/structure/types/manage/article/display');
$this
->assertSession()
->fieldValueEquals('fields[body][region]', 'content');
$display = EntityViewDisplay::load('node.article.default');
$this
->assertSame('content', $display
->getComponent('body')['region']);
}
}