getEditable('views.view.content') ->set('display.default.display_options.use_ajax', TRUE) ->save(); // Create a Content type and two test nodes. $this->createContentType(['type' => 'page']); $this->createNode(['title' => 'Page One']); $this->createNode(['title' => 'Page Two']); // Create a user privileged enough to use exposed filters and view content. $user = $this->drupalCreateUser([ 'administer site configuration', 'access content', 'access content overview', ]); $this->drupalLogin($user); // Visit the View page. $this->drupalGet('admin/content'); $session = $this->getSession(); // Ensure that the Content we're testing for is present. $html = $session->getPage()->getHtml(); $this->assertContains('Page One', $html); $this->assertContains('Page Two', $html); // Search for "Page One". $this->submitForm(['title' => 'Page One'], t('Filter')); $this->assertSession()->assertWaitOnAjaxRequest(); // Verify that only the "Page One" Node is present. $html = $session->getPage()->getHtml(); $this->assertContains('Page One', $html); $this->assertNotContains('Page Two', $html); // Search for "Page Two". $this->submitForm(['title' => 'Page Two'], t('Filter')); $this->assertSession()->assertWaitOnAjaxRequest(); // Verify that only the "Page Two" Node is present. $html = $session->getPage()->getHtml(); $this->assertContains('Page Two', $html); $this->assertNotContains('Page One', $html); // Reset the form. $this->submitForm([], t('Reset')); $this->assertSession()->assertWaitOnAjaxRequest(); $this->assertSession()->pageTextContains('Page One'); $this->assertSession()->pageTextContains('Page Two'); $this->assertFalse($session->getPage()->hasButton('Reset')); } }