public function WebformStatesCustomJavaScriptTest::testCustomStates in Webform 6.x
Same name and namespace in other branches
- 8.5 tests/src/FunctionalJavascript/States/WebformStatesCustomJavaScriptTest.php \Drupal\Tests\webform\FunctionalJavascript\States\WebformStatesCustomJavaScriptTest::testCustomStates()
Tests custom states.
File
- tests/
src/ FunctionalJavascript/ States/ WebformStatesCustomJavaScriptTest.php, line 26
Class
- WebformStatesCustomJavaScriptTest
- Tests for webform submission conditions (#states) validator.
Namespace
Drupal\Tests\webform\FunctionalJavascript\StatesCode
public function testCustomStates() {
$session = $this
->getSession();
$page = $session
->getPage();
$this
->drupalGet('/webform/test_states_server_custom');
/**************************************************************************/
// Pattern (^[a-z]+$).
/**************************************************************************/
// Check pattern dependent is not visible.
$dependent_pattern = $page
->findField('edit-dependent-pattern');
$this
->assertFalse($dependent_pattern
->isVisible());
// Check pattern dependent is visible.
$page
->fillField('edit-trigger-pattern', 'a');
$this
->assertTrue($dependent_pattern
->isVisible());
// Check pattern dependent is not visible.
$page
->fillField('edit-trigger-pattern', '1');
$this
->assertFalse($dependent_pattern
->isVisible());
/**************************************************************************/
// !Pattern (^$).
/**************************************************************************/
// Check !pattern dependent is not visible.
$dependent_not_pattern = $page
->findField('edit-dependent-not-pattern');
$this
->assertFalse($dependent_not_pattern
->isVisible());
// Check !pattern dependent is visible.
$page
->fillField('edit-trigger-not-pattern', 'a');
$this
->assertTrue($dependent_not_pattern
->isVisible());
// Check !pattern dependent is not visible.
$page
->fillField('edit-trigger-not-pattern', '');
$this
->assertFalse($dependent_not_pattern
->isVisible());
/**************************************************************************/
// Less (< 10).
/**************************************************************************/
// Check less dependent is not visible.
$dependent_less = $page
->findField('edit-dependent-less');
$this
->assertFalse($dependent_less
->isVisible());
// Check less dependent is visible.
$page
->fillField('edit-trigger-less', '5');
$this
->assertTrue($dependent_less
->isVisible());
// Check less dependent is not visible.
$page
->fillField('edit-trigger-less', '11');
$this
->assertFalse($dependent_less
->isVisible());
/**************************************************************************/
// Less/Equal (<= 10).
/**************************************************************************/
// Check less dependent is not visible.
$dependent_less_equal = $page
->findField('edit-dependent-less-equal');
$this
->assertFalse($dependent_less_equal
->isVisible());
// Check less dependent is visible.
$page
->fillField('edit-trigger-less-equal', '10');
$this
->assertTrue($dependent_less_equal
->isVisible());
// Check less dependent is not visible.
$page
->fillField('edit-trigger-less-equal', '11');
$this
->assertFalse($dependent_less_equal
->isVisible());
/**************************************************************************/
// Greater (> 10).
/**************************************************************************/
// Check greater dependent is not visible.
$dependent_greater = $page
->findField('edit-dependent-greater');
$this
->assertFalse($dependent_greater
->isVisible());
// Check greater dependent is visible.
$page
->fillField('edit-trigger-greater', '11');
$this
->assertTrue($dependent_greater
->isVisible());
// Check greater dependent is not visible.
$page
->fillField('edit-trigger-greater', '5');
$this
->assertFalse($dependent_greater
->isVisible());
/**************************************************************************/
// Greater/Equal (> 10).
/**************************************************************************/
// Check greater dependent is not visible.
$dependent_greater_equal = $page
->findField('edit-dependent-greater-equal');
$this
->assertFalse($dependent_greater_equal
->isVisible());
// Check greater dependent is visible.
$page
->fillField('edit-trigger-greater-equal', '10');
$this
->assertTrue($dependent_greater_equal
->isVisible());
// Check greater dependent is not visible.
$page
->fillField('edit-trigger-greater-equal', '5');
$this
->assertFalse($dependent_greater_equal
->isVisible());
/**************************************************************************/
// Between (10 > & < 20).
/**************************************************************************/
// Check between dependent is not visible.
$dependent_between = $page
->findField('edit-dependent-between');
$dependent_not_between = $page
->findField('edit-dependent-not-between');
$this
->assertFalse($dependent_between
->isVisible());
$this
->assertFalse($dependent_not_between
->isVisible());
// Check between dependent is visible.
$page
->fillField('edit-trigger-between', '11');
$this
->assertTrue($dependent_between
->isVisible());
$this
->assertFalse($dependent_not_between
->isVisible());
// Check between dependent is not visible.
$page
->fillField('edit-trigger-between', '5');
$this
->assertFalse($dependent_between
->isVisible());
$this
->assertTrue($dependent_not_between
->isVisible());
// Check between dependent is not visible.
$page
->fillField('edit-trigger-between', '');
$this
->assertFalse($dependent_between
->isVisible());
$this
->assertFalse($dependent_not_between
->isVisible());
// Check between dependent is not visible.
$page
->fillField('edit-trigger-between', '21');
$this
->assertFalse($dependent_between
->isVisible());
$this
->assertTrue($dependent_not_between
->isVisible());
}