You are here

public function WebformCompositePluginTest::testPlugin in Webform 6.x

Same name and namespace in other branches
  1. 8.5 tests/src/Functional/Composite/WebformCompositePluginTest.php \Drupal\Tests\webform\Functional\Composite\WebformCompositePluginTest::testPlugin()

Test composite plugin.

File

tests/src/Functional/Composite/WebformCompositePluginTest.php, line 31

Class

WebformCompositePluginTest
Tests for composite plugin.

Namespace

Drupal\Tests\webform\Functional\Composite

Code

public function testPlugin() {

  /* Display */
  $this
    ->drupalGet('/webform/test_element_composite_plugin');

  // Check fieldset with nested elements is rendered.
  $this
    ->assertRaw('<fieldset data-drupal-selector="edit-webform-test-composite-fieldset" id="edit-webform-test-composite-fieldset" class="js-webform-type-fieldset webform-type-fieldset js-form-item form-item js-form-wrapper form-wrapper">');
  $this
    ->assertRaw('<span class="fieldset-legend">fieldset</span>');

  /* Processing */

  // Check processing simple composite.
  $edit = [
    'webform_test_composite[textfield]' => '{textfield}',
    'webform_test_composite[email]' => 'email@email.com',
    'webform_test_composite[webform_email_confirm][mail_1]' => 'email@email.com',
    'webform_test_composite[webform_email_confirm][mail_2]' => 'email@email.com',
    'webform_test_composite[tel]' => '123-456-7890',
    'webform_test_composite[select]' => 'one',
    'webform_test_composite[radios]' => 'one',
    'webform_test_composite[date]' => '2018-01-01',
    'webform_test_composite[webform_entity_select]' => '',
    'webform_test_composite[entity_autocomplete]' => '',
    'webform_test_composite[datelist][year]' => '2018',
    'webform_test_composite[datelist][month]' => '1',
    'webform_test_composite[datelist][day]' => '1',
    'webform_test_composite[datelist][hour]' => '1',
    'webform_test_composite[datelist][minute]' => '1',
    'webform_test_composite[datetime][date]' => '2018-03-21',
    'webform_test_composite[datetime][time]' => '23:19:25',
    'webform_test_composite[nested_tel]' => '123-456-7890',
    'webform_test_composite[nested_select]' => 'Monday',
    'webform_test_composite[nested_radios]' => 'Monday',
  ];
  $this
    ->drupalPostForm('/webform/test_element_composite_plugin', $edit, 'Submit');
  $this
    ->assertRaw("webform_test_composite:\n  textfield: '{textfield}'\n  email: email@email.com\n  webform_email_confirm: email@email.com\n  tel: 123-456-7890\n  select: one\n  radios: one\n  date: '2018-01-01'\n  webform_entity_select: ''\n  entity_autocomplete: null\n  datelist: '2018-01-01T01:01:00+1100'\n  datetime: '2018-03-21T23:19:25+1100'\n  nested_tel: 123-456-7890\n  nested_select: Monday\n  nested_radios: Monday");
}