summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathaniel Catchpole2017-08-23 04:08:02 (GMT)
committerNathaniel Catchpole2017-08-23 04:08:02 (GMT)
commitad36d819e167852024f2a3bf54cc4a0932523388 (patch)
treeecacb95b4b209c6f4ffc4da83cd3df3875fffd2f
parent92cbc4cfc829e6dd674f845827946ee6eda2c040 (diff)
Issue #2868880 by Lendude, michielnugter, vaplas: Random fails in ContextualFilterTest::testAddContextualFilterUI
-rw-r--r--core/modules/views/tests/src/FunctionalJavascript/Plugin/views/Handler/ContextualFilterTest.php38
1 files changed, 25 insertions, 13 deletions
diff --git a/core/modules/views/tests/src/FunctionalJavascript/Plugin/views/Handler/ContextualFilterTest.php b/core/modules/views/tests/src/FunctionalJavascript/Plugin/views/Handler/ContextualFilterTest.php
index 8cca9c3..dd1d1ae 100644
--- a/core/modules/views/tests/src/FunctionalJavascript/Plugin/views/Handler/ContextualFilterTest.php
+++ b/core/modules/views/tests/src/FunctionalJavascript/Plugin/views/Handler/ContextualFilterTest.php
@@ -24,7 +24,6 @@ class ContextualFilterTest extends JavascriptTestBase {
*/
public static $testViews = ['test_field_body'];
-
/**
* {@inheritdoc}
*/
@@ -33,9 +32,14 @@ class ContextualFilterTest extends JavascriptTestBase {
ViewTestData::createTestViews(get_class($this), ['views_test_config']);
- // Disable automatic live preview to make the sequence of calls clearer.
+ // Always show advanced column.
\Drupal::configFactory()->getEditable('views.settings')->set('ui.show.advanced_column', TRUE)->save();
+ // Disable automatic live preview to make the sequence of calls clearer. And
+ // prevent errors on saving the view with the preview ajax load that are
+ // cancelled.
+ \Drupal::configFactory()->getEditable('views.settings')->set('ui.always_live_preview', FALSE)->save();
+
$account = $this->drupalCreateUser(['administer views']);
$this->drupalLogin($account);
}
@@ -44,32 +48,40 @@ class ContextualFilterTest extends JavascriptTestBase {
* Test adding a contextual filter handler through the UI.
*/
public function testAddContextualFilterUI() {
- $web_assert = $this->assertSession();
-
$this->drupalGet('/admin/structure/views/view/test_field_body');
- $web_assert->assertWaitOnAjaxRequest();
+ $web_assert = $this->assertSession();
$page = $this->getSession()->getPage();
$page->clickLink('views-add-argument');
- $web_assert->assertWaitOnAjaxRequest();
- $page->checkField('name[node_field_data.nid]');
+ $field = $web_assert->waitForField('name[node_field_data.nid]');
+ $this->assertNotEmpty($field);
+ $field->check();
+
$add_button = $page->find('css', '.ui-dialog-buttonset .button--primary');
$add_button->click();
- $web_assert->assertWaitOnAjaxRequest();
- $page->fillField('options[default_action]', 'default');
+ $field_action = $web_assert->waitForField('options[default_action]');
+ $this->assertNotEmpty($field_action);
+ $field_action->setValue('default');
+
$page->selectFieldOption('options[default_argument_type]', 'node');
$add_button = $page->find('css', '.ui-dialog-buttonset .button--primary');
$add_button->click();
- $web_assert->assertWaitOnAjaxRequest();
+
+ // Wait for the dialog to close.
+ $page->waitFor(10, function () use ($page) {
+ $field = $page->find('css', '.ui-dialog-buttonset .button--primary');
+ return empty($field);
+ });
+
$page->pressButton('edit-actions-submit');
- $web_assert->assertWaitOnAjaxRequest();
+
$page->clickLink('Content: ID');
// Check that the dialog opens.
- $web_assert->assertWaitOnAjaxRequest();
- $page->pressButton('Close');
+ $field_action = $web_assert->waitForField('options[default_action]');
+ $this->assertNotEmpty($field_action);
}
}