Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / core / tests / Drupal / FunctionalJavascriptTests / Ajax / AjaxCallbacksTest.php
1 <?php
2
3 namespace Drupal\FunctionalJavascriptTests\Ajax;
4
5 use Drupal\FunctionalJavascriptTests\JavascriptTestBase;
6
7 /**
8  * Tests Ajax callbacks on FAPI elements.
9  *
10  * @group Ajax
11  */
12 class AjaxCallbacksTest extends JavascriptTestBase {
13
14   /**
15    * {@inheritdoc}
16    */
17   public static $modules = ['ajax_forms_test'];
18
19   /**
20    * Tests if Ajax callback works on date element.
21    */
22   public function testDateAjaxCallback() {
23
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');
31   }
32
33   /**
34    * Tests if Ajax callback works on datetime element.
35    */
36   public function testDateTimeAjaxCallback() {
37
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');
48   }
49
50 }