getEditable('views.settings')->set('ui.always_live_preview', FALSE)->save(); $this->account = $this->drupalCreateUser(['administer views']); $this->drupalLogin($this->account); NodeType::create([ 'type' => 'page', ])->save(); FieldConfig::create([ 'entity_type' => 'node', 'field_name' => 'body', 'bundle' => 'page', ])->save(); } public function testFormatterChanging() { $web_assert = $this->assertSession(); $url = '/admin/structure/views/view/test_field_body'; $this->drupalGet($url); $page = $this->getSession()->getPage(); $page->clickLink('Body field'); $web_assert->assertWaitOnAjaxRequest(); $page->fillField('options[type]', 'text_trimmed'); // Add a value to the trim_length setting. $web_assert->assertWaitOnAjaxRequest(); $page->fillField('options[settings][trim_length]', '700'); $apply_button = $page->find('css', '.views-ui-dialog button.button--primary'); $this->assertTrue(!empty($apply_button)); $apply_button->press(); $web_assert->assertWaitOnAjaxRequest(); // Save the page. $save_button = $page->find('css', '#edit-actions-submit'); $save_button->press(); // Set the body field back to 'default' and test that the trim_length // settings are not in the config. $this->drupalGet($url); $page->clickLink('Body field'); $web_assert->assertWaitOnAjaxRequest(); $page->fillField('options[type]', 'text_default'); $web_assert->assertWaitOnAjaxRequest(); $apply_button = $page->find('css', '.views-ui-dialog button.button--primary'); $apply_button->press(); $web_assert->assertWaitOnAjaxRequest(); // Save the page. $save_button = $page->find('css', '#edit-actions-submit'); $save_button->press(); $this->assertConfigSchemaByName('views.view.test_field_body'); } }