3 namespace Drupal\FunctionalJavascriptTests\Ajax;
5 use Drupal\FunctionalJavascriptTests\JavascriptTestBase;
8 * Tests Ajax callbacks on FAPI elements.
12 class AjaxCallbacksTest extends JavascriptTestBase {
17 public static $modules = ['ajax_forms_test'];
20 * Tests if Ajax callback works on date element.
22 public function testDateAjaxCallback() {
24 // Test Ajax callback when date changes.
25 $this->drupalGet('ajax_forms_test_ajax_element_form');
26 $this->assertSession()->responseContains('No date yet selected');
27 $this->getSession()->getPage()->fillField('edit-date', '2016-01-01');
28 $this->assertSession()->assertWaitOnAjaxRequest();
29 $this->assertSession()->responseNotContains('No date yet selected');
30 $this->assertSession()->responseContains('2016-01-01');
34 * Tests if Ajax callback works on datetime element.
36 public function testDateTimeAjaxCallback() {
38 // Test Ajax callback when datetime changes.
39 $this->drupalGet('ajax_forms_test_ajax_element_form');
40 $this->assertSession()->responseContains('No datetime selected.');
41 $this->getSession()->getPage()->fillField('edit-datetime-date', '2016-01-01');
42 $this->assertSession()->assertWaitOnAjaxRequest();
43 $this->assertSession()->responseNotContains('No datetime selected.');
44 $this->assertSession()->responseContains('2016-01-01');
45 $this->getSession()->getPage()->fillField('edit-datetime-time', '12:00:00');
46 $this->assertSession()->assertWaitOnAjaxRequest();
47 $this->assertSession()->responseContains('2016-01-01 12:00:00');