diff --git a/core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxFormCacheTest.php b/core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxFormCacheTest.php index a14e08b2e5..2255ad6540 100644 --- a/core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxFormCacheTest.php +++ b/core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxFormCacheTest.php @@ -47,11 +47,27 @@ public function testBlockForms() { $this->drupalPlaceBlock('ajax_forms_test_block'); $this->drupalGet(''); - $this->drupalPostAjaxForm(NULL, ['test1' => 'option1'], 'test1'); - $this->assertOptionSelectedWithDrupalSelector('edit-test1', 'option1'); - $this->assertOptionWithDrupalSelector('edit-test1', 'option3'); - $this->drupalPostForm(NULL, ['test1' => 'option1'], 'Submit'); - $this->assertText('Submission successful.'); + $session = $this->getSession(); + + // Select first option and trigger ajax update. + $session->getPage()->selectFieldOption('edit-test1', 'option1'); + $this->assertSession()->assertWaitOnAjaxRequest(); + + // Confirm option1 has been selected. + $page = $session->getPage(); + $opt1_selector = $page->find('xpath', '//select[@data-drupal-selector="edit-test1"]//option[@value="option1"]'); + $this->assertNotEmpty($opt1_selector); + $this->assertTrue($opt1_selector->isSelected()); + + // Confirm option 3 exists. + $opt3_selector = $page->find('xpath', '//select[@data-drupal-selector="edit-test1"]//option[@value="option3"]'); + $this->assertNotEmpty($opt3_selector); + + // Confirm success message appears after a submit. + $page->findButton('edit-submit')->click(); + $this->assertSession()->waitForButton('edit-submit'); + $updated_page = $session->getPage(); + $updated_page->hasContent('Submission successful.'); } /** @@ -65,7 +81,12 @@ public function testQueryString() { $url = Url::fromRoute('entity.user.canonical', ['user' => $this->rootUser->id()], ['query' => ['foo' => 'bar']]); $this->drupalGet($url); - $this->drupalPostAjaxForm(NULL, ['test1' => 'option1'], 'test1'); + + $session = $this->getSession(); + // Select first option and trigger ajax update. + $session->getPage()->selectFieldOption('edit-test1', 'option1'); + $this->assertSession()->assertWaitOnAjaxRequest(); + $url->setOption('query', [ 'foo' => 'bar', FormBuilderInterface::AJAX_FORM_REQUEST => 1,