You are here

public function WebformHandlerTest::testWebformHandlerElement in Webform 6.x

Same name and namespace in other branches
  1. 8.5 tests/src/Functional/Handler/WebformHandlerTest.php \Drupal\Tests\webform\Functional\Handler\WebformHandlerTest::testWebformHandlerElement()

Tests webform handler element plugin.

File

tests/src/Functional/Handler/WebformHandlerTest.php, line 282

Class

WebformHandlerTest
Tests for webform handler plugin.

Namespace

Drupal\Tests\webform\Functional\Handler

Code

public function testWebformHandlerElement() {
  $this
    ->drupalLogin($this->rootUser);

  // Check CRUD methods invoked.
  $edit = [
    'elements' => "element:\n  '#type': textfield\n  '#title': 'Empty element'\n  '#description': 'Entering any value will throw an error",
  ];
  $this
    ->drupalPostForm('/admin/structure/webform/manage/test_handler_test', $edit, 'Save');
  $this
    ->assertNoRaw('Invoked test: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:createElement');
  $this
    ->assertNoRaw('Invoked test: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:updateElement');
  $this
    ->assertNoRaw('Invoked test: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:deleteElement');

  // Check create element.
  $edit = [
    'elements' => "element:\n  '#type': textfield\n  '#title': 'Empty element'\n  '#description': 'Entering any value will throw an error'\ntest:\n  '#type': textfield",
  ];
  $this
    ->drupalPostForm('/admin/structure/webform/manage/test_handler_test', $edit, 'Save');
  $this
    ->assertRaw('Invoked test: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:createElement');
  $this
    ->assertNoRaw('Invoked test: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:updateElement');
  $this
    ->assertNoRaw('Invoked test: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:deleteElement');

  // Check update element.
  $edit = [
    'elements' => "element:\n  '#type': textfield\n  '#title': 'Empty element'\n  '#description': 'Entering any value will throw an error'\ntest:\n  '#type': textfield\n  '#title': Test",
  ];
  $this
    ->drupalPostForm('/admin/structure/webform/manage/test_handler_test', $edit, 'Save');
  $this
    ->assertNoRaw('Invoked test: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:createElement');
  $this
    ->assertRaw('Invoked test: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:updateElement');
  $this
    ->assertNoRaw('Invoked test: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:deleteElement');

  // Check delete element.
  $edit = [
    'elements' => "element:\n  '#type': textfield\n  '#title': 'Empty element'\n  '#description': 'Entering any value will throw an error'",
  ];
  $this
    ->drupalPostForm('/admin/structure/webform/manage/test_handler_test', $edit, 'Save');
  $this
    ->assertNoRaw('Invoked test: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:createElement');
  $this
    ->assertNoRaw('Invoked test: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:updateElement');
  $this
    ->assertRaw('Invoked test: Drupal\\webform_test_handler\\Plugin\\WebformHandler\\TestWebformHandler:deleteElement');
}