annotate core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxCallbacksTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
rev   line source
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 }