Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Drupal\FunctionalJavascriptTests\Ajax;
|
Chris@0
|
4
|
Chris@17
|
5 use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
|
Chris@0
|
6
|
Chris@0
|
7 /**
|
Chris@0
|
8 * Tests Ajax callbacks on FAPI elements.
|
Chris@0
|
9 *
|
Chris@0
|
10 * @group Ajax
|
Chris@0
|
11 */
|
Chris@17
|
12 class AjaxCallbacksTest extends WebDriverTestBase {
|
Chris@0
|
13
|
Chris@0
|
14 /**
|
Chris@0
|
15 * {@inheritdoc}
|
Chris@0
|
16 */
|
Chris@0
|
17 public static $modules = ['ajax_forms_test'];
|
Chris@0
|
18
|
Chris@0
|
19 /**
|
Chris@0
|
20 * Tests if Ajax callback works on date element.
|
Chris@0
|
21 */
|
Chris@0
|
22 public function testDateAjaxCallback() {
|
Chris@0
|
23
|
Chris@0
|
24 // Test Ajax callback when date changes.
|
Chris@0
|
25 $this->drupalGet('ajax_forms_test_ajax_element_form');
|
Chris@17
|
26 $this->assertNotEmpty($this->getSession()->getPage()->find('xpath', '//div[@id="ajax_date_value"][text()="No date yet selected"]'));
|
Chris@17
|
27 $this->getSession()->executeScript('jQuery("[data-drupal-selector=edit-date]").val("2016-01-01").trigger("change");');
|
Chris@17
|
28 $this->assertNotEmpty($this->assertSession()->waitForElement('xpath', '//div[@id="ajax_date_value"]/div[text()="2016-01-01"]'));
|
Chris@0
|
29 }
|
Chris@0
|
30
|
Chris@0
|
31 /**
|
Chris@0
|
32 * Tests if Ajax callback works on datetime element.
|
Chris@0
|
33 */
|
Chris@0
|
34 public function testDateTimeAjaxCallback() {
|
Chris@0
|
35
|
Chris@0
|
36 // Test Ajax callback when datetime changes.
|
Chris@0
|
37 $this->drupalGet('ajax_forms_test_ajax_element_form');
|
Chris@17
|
38 $this->assertNotEmpty($this->getSession()->getPage()->find('xpath', '//div[@id="ajax_datetime_value"][text()="No datetime selected."]'));
|
Chris@17
|
39 $this->getSession()->executeScript('jQuery("[data-drupal-selector=edit-datetime-date]").val("2016-01-01");');
|
Chris@17
|
40 $this->getSession()->executeScript('jQuery("[data-drupal-selector=edit-datetime-time]").val("12:00:00").trigger("change");');
|
Chris@17
|
41 $this->assertNotEmpty($this->assertSession()->waitForElement('xpath', '//div[@id="ajax_datetime_value"]/div[text()="2016-01-01 12:00:00"]'));
|
Chris@0
|
42 }
|
Chris@0
|
43
|
Chris@0
|
44 }
|