public function WebformHandlerConditionsTest::testConditions in Webform 8.5
Same name and namespace in other branches
- 6.x tests/src/Functional/Handler/WebformHandlerConditionsTest.php \Drupal\Tests\webform\Functional\Handler\WebformHandlerConditionsTest::testConditions()
Tests webform handler plugin conditions.
File
- tests/
src/ Functional/ Handler/ WebformHandlerConditionsTest.php, line 32
Class
- WebformHandlerConditionsTest
- Tests for webform handler plugin conditions.
Namespace
Drupal\Tests\webform\Functional\HandlerCode
public function testConditions() {
$this
->drupalLogin($this->rootUser);
/** @var \Drupal\webform\WebformInterface $webform */
$webform = Webform::load('test_handler_conditions');
$this
->drupalGet('/webform/test_handler_conditions');
// Check no triggers.
$this
->assertRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:preCreate');
$this
->assertRaw('Invoked test_b: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:preCreate');
$this
->assertRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:alterElements');
$this
->assertRaw('Invoked test_b: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:alterElements');
// Check post submission no trigger.
$this
->postSubmission($webform);
$this
->assertRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:preCreate');
$this
->assertRaw('Invoked test_b: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:preCreate');
$this
->assertRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:alterElements');
$this
->assertRaw('Invoked test_b: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:alterElements');
// Trigger only A handler.
$this
->postSubmission($webform, [
'trigger_a' => TRUE,
]);
// Check non submission hooks are executed.
$this
->assertRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:preCreate');
$this
->assertRaw('Invoked test_b: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:preCreate');
$this
->assertRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:alterElements');
$this
->assertRaw('Invoked test_b: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:alterElements');
// Check trigger A submission hooks are executed.
$this
->assertRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:validateForm');
$this
->assertRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:submitForm');
$this
->assertRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:preSave');
$this
->assertRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:postSave insert');
$this
->assertRaw('Test A');
$this
->assertRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:confirmForm');
// Trigger only B handler.
$this
->postSubmission($webform, [
'trigger_b' => TRUE,
]);
// Check non submission hooks are executed.
$this
->assertRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:preCreate');
$this
->assertRaw('Invoked test_b: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:preCreate');
$this
->assertRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:alterElements');
$this
->assertRaw('Invoked test_b: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:alterElements');
// Check trigger A submission hooks are no executed.
$this
->assertNoRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:validateForm');
$this
->assertNoRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:submitForm');
$this
->assertNoRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:preSave');
$this
->assertNoRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:postSave insert');
$this
->assertNoRaw('Test A');
$this
->assertNoRaw('Invoked test_a: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:confirmForm');
// Check trigger B submission hooks are executed.
$this
->assertRaw('Invoked test_b: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:validateForm');
$this
->assertRaw('Invoked test_b: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:submitForm');
$this
->assertRaw('Invoked test_b: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:preSave');
$this
->assertRaw('Invoked test_b: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:postSave insert');
$this
->assertRaw('Test B');
$this
->assertRaw('Invoked test_b: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:confirmForm');
}