public function WebformUiElementDefaultValueTest::testElementDefaultValue in Webform 8.5
Same name and namespace in other branches
- 6.x modules/webform_ui/tests/src/Functional/WebformUiElementDefaultValueTest.php \Drupal\Tests\webform_ui\Functional\WebformUiElementDefaultValueTest::testElementDefaultValue()
Tests element.
File
- modules/
webform_ui/ tests/ src/ Functional/ WebformUiElementDefaultValueTest.php, line 24
Class
- WebformUiElementDefaultValueTest
- Tests for webform UI element.
Namespace
Drupal\Tests\webform_ui\FunctionalCode
public function testElementDefaultValue() {
$this
->drupalLogin($this->rootUser);
/**************************************************************************/
// Single text field.
/**************************************************************************/
// Check validation when trying to set default value.
$this
->drupalPostForm('/admin/structure/webform/manage/contact/element/add/textfield', [], 'Set default value');
$this
->assertRaw('Key field is required.');
$this
->assertRaw('Title field is required.');
// Check set default value generates a single textfield element.
$edit = [
'key' => 'textfield',
'properties[title]' => 'textfield',
];
$this
->drupalPostForm('/admin/structure/webform/manage/contact/element/add/textfield', $edit, 'Set default value');
$this
->assertRaw('<label for="edit-default-value">textfield</label>');
$this
->assertFieldByName('default_value', '');
// Check setting the text field's default value.
$this
->drupalPostForm(NULL, [
'default_value' => '{default value}',
], 'Update default value');
$this
->assertFieldByName('properties[default_value]', '{default value}');
/**************************************************************************/
// Multiple text field.
/**************************************************************************/
// Check set default value generates a multiple textfield element.
$edit = [
'key' => 'textfield',
'properties[title]' => 'textfield',
'properties[multiple][container][cardinality]' => '-1',
];
$this
->drupalPostForm('/admin/structure/webform/manage/contact/element/add/textfield', $edit, 'Set default value');
$this
->assertFieldByName('default_value[items][0][_item_]', '');
// Check setting the text field's default value.
$this
->drupalPostForm(NULL, [
'default_value[items][0][_item_]' => '{default value}',
], 'Update default value');
$this
->assertFieldByName('properties[default_value]', '{default value}');
/**************************************************************************/
// Single address (composite) field.
/**************************************************************************/
// Check set default value generates a single address element.
$edit = [
'key' => 'address',
'properties[title]' => 'address',
];
$this
->drupalPostForm('/admin/structure/webform/manage/contact/element/add/webform_address', $edit, 'Set default value');
$this
->assertFieldByName('default_value[address]', '');
$this
->assertFieldByName('default_value[address_2]', '');
// Check setting the address' default value.
$edit = [
'default_value[address]' => '{address}',
'default_value[address_2]' => '{address_2}',
];
$this
->drupalPostForm(NULL, $edit, 'Update default value');
$this
->assertRaw('address: '{address}'
address_2: '{address_2}'
city: ''
state_province: ''
postal_code: ''
country: ''');
// Check default value is passed set default value form.
$this
->drupalPostForm(NULL, [], 'Set default value');
$this
->assertFieldByName('default_value[address]', '{address}');
$this
->assertFieldByName('default_value[address_2]', '{address_2}');
}