View source
<?php
namespace Drupal\Tests\webform_ui\Functional;
use Drupal\Tests\webform\Functional\WebformBrowserTestBase;
class WebformUiElementDefaultValueTest extends WebformBrowserTestBase {
public static $modules = [
'webform',
'webform_ui',
];
public function testElementDefaultValue() {
$this
->drupalLogin($this->rootUser);
$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.');
$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', '');
$this
->drupalPostForm(NULL, [
'default_value' => '{default value}',
], 'Update default value');
$this
->assertFieldByName('properties[default_value]', '{default value}');
$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_]', '');
$this
->drupalPostForm(NULL, [
'default_value[items][0][_item_]' => '{default value}',
], 'Update default value');
$this
->assertFieldByName('properties[default_value]', '{default value}');
$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]', '');
$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: ''');
$this
->drupalPostForm(NULL, [], 'Set default value');
$this
->assertFieldByName('default_value[address]', '{address}');
$this
->assertFieldByName('default_value[address_2]', '{address_2}');
}
}