Mercurial > hg > isophonics-drupal-site
comparison core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxCallbacksTest.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:21:36 +0000 |
parents | 4c8ae668cc8c |
children |
comparison
equal
deleted
inserted
replaced
16:c2387f117808 | 17:129ea1e6d783 |
---|---|
1 <?php | 1 <?php |
2 | 2 |
3 namespace Drupal\FunctionalJavascriptTests\Ajax; | 3 namespace Drupal\FunctionalJavascriptTests\Ajax; |
4 | 4 |
5 use Drupal\FunctionalJavascriptTests\JavascriptTestBase; | 5 use Drupal\FunctionalJavascriptTests\WebDriverTestBase; |
6 | 6 |
7 /** | 7 /** |
8 * Tests Ajax callbacks on FAPI elements. | 8 * Tests Ajax callbacks on FAPI elements. |
9 * | 9 * |
10 * @group Ajax | 10 * @group Ajax |
11 */ | 11 */ |
12 class AjaxCallbacksTest extends JavascriptTestBase { | 12 class AjaxCallbacksTest extends WebDriverTestBase { |
13 | 13 |
14 /** | 14 /** |
15 * {@inheritdoc} | 15 * {@inheritdoc} |
16 */ | 16 */ |
17 public static $modules = ['ajax_forms_test']; | 17 public static $modules = ['ajax_forms_test']; |
21 */ | 21 */ |
22 public function testDateAjaxCallback() { | 22 public function testDateAjaxCallback() { |
23 | 23 |
24 // Test Ajax callback when date changes. | 24 // Test Ajax callback when date changes. |
25 $this->drupalGet('ajax_forms_test_ajax_element_form'); | 25 $this->drupalGet('ajax_forms_test_ajax_element_form'); |
26 $this->assertSession()->responseContains('No date yet selected'); | 26 $this->assertNotEmpty($this->getSession()->getPage()->find('xpath', '//div[@id="ajax_date_value"][text()="No date yet selected"]')); |
27 $this->getSession()->getPage()->fillField('edit-date', '2016-01-01'); | 27 $this->getSession()->executeScript('jQuery("[data-drupal-selector=edit-date]").val("2016-01-01").trigger("change");'); |
28 $this->assertSession()->assertWaitOnAjaxRequest(); | 28 $this->assertNotEmpty($this->assertSession()->waitForElement('xpath', '//div[@id="ajax_date_value"]/div[text()="2016-01-01"]')); |
29 $this->assertSession()->responseNotContains('No date yet selected'); | |
30 $this->assertSession()->responseContains('2016-01-01'); | |
31 } | 29 } |
32 | 30 |
33 /** | 31 /** |
34 * Tests if Ajax callback works on datetime element. | 32 * Tests if Ajax callback works on datetime element. |
35 */ | 33 */ |
36 public function testDateTimeAjaxCallback() { | 34 public function testDateTimeAjaxCallback() { |
37 | 35 |
38 // Test Ajax callback when datetime changes. | 36 // Test Ajax callback when datetime changes. |
39 $this->drupalGet('ajax_forms_test_ajax_element_form'); | 37 $this->drupalGet('ajax_forms_test_ajax_element_form'); |
40 $this->assertSession()->responseContains('No datetime selected.'); | 38 $this->assertNotEmpty($this->getSession()->getPage()->find('xpath', '//div[@id="ajax_datetime_value"][text()="No datetime selected."]')); |
41 $this->getSession()->getPage()->fillField('edit-datetime-date', '2016-01-01'); | 39 $this->getSession()->executeScript('jQuery("[data-drupal-selector=edit-datetime-date]").val("2016-01-01");'); |
42 $this->assertSession()->assertWaitOnAjaxRequest(); | 40 $this->getSession()->executeScript('jQuery("[data-drupal-selector=edit-datetime-time]").val("12:00:00").trigger("change");'); |
43 $this->assertSession()->responseNotContains('No datetime selected.'); | 41 $this->assertNotEmpty($this->assertSession()->waitForElement('xpath', '//div[@id="ajax_datetime_value"]/div[text()="2016-01-01 12:00:00"]')); |
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 } | 42 } |
49 | 43 |
50 } | 44 } |