private function CustomFieldSubmissionTest::createCustomFields in Webform CiviCRM Integration 8.5
1 call to CustomFieldSubmissionTest::createCustomFields()
- CustomFieldSubmissionTest::testSubmitWebform in tests/
src/ FunctionalJavascript/ CustomFieldSubmissionTest.php - Test submitting Custom Fields
File
- tests/
src/ FunctionalJavascript/ CustomFieldSubmissionTest.php, line 14
Class
- CustomFieldSubmissionTest
- Tests submitting a Webform with CiviCRM: single contact + custom fields.
Namespace
Drupal\Tests\webform_civicrm\FunctionalJavascriptCode
private function createCustomFields() {
$this->_customFields = [];
$result = $this
->createCustomGroup();
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$customgroup_id = $result['id'];
$params = [
'custom_group_id' => $customgroup_id,
'label' => 'Text',
'name' => 'text',
'data_type' => 'String',
'html_type' => 'Text',
'is_active' => 1,
];
$result = $this->utils
->wf_civicrm_api('CustomField', 'create', $params);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$this->_customFields['text'] = $result['id'];
$result = civicrm_api3('CustomField', 'create', [
'custom_group_id' => "Custom",
'label' => "DateTime",
'name' => 'date_time',
'data_type' => "Date",
'html_type' => "Select Date",
'date_format' => "yy-mm-dd",
'time_format' => 2,
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$this->_customFields['date_time'] = $result['id'];
$result = civicrm_api3('OptionGroup', 'create', [
'name' => "radio_1",
'title' => "Label for custom radio field",
'data_type' => "String",
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$result = civicrm_api3('OptionValue', 'create', [
'option_group_id' => "radio_1",
'name' => "Yes",
'label' => "Yes",
'value' => 1,
'is_default' => 0,
'weight' => 1,
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
// Add Radio options for empty submission.
$result = civicrm_api3('OptionGroup', 'create', [
'name' => "test_radio_2",
'title' => "Test Radio 2",
'data_type' => "String",
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$result = civicrm_api3('OptionValue', 'create', [
'option_group_id' => "test_radio_2",
'name' => "radiooptionone",
'label' => "Radio Option One",
'value' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$result = civicrm_api3('OptionValue', 'create', [
'option_group_id' => "test_radio_2",
'name' => "radiooptiontwo",
'label' => "Radio Option Two",
'value' => 2,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$result = civicrm_api3('OptionValue', 'create', [
'option_group_id' => "test_radio_2",
'name' => "radiooptionthree",
'label' => "Radio Option Three",
'value' => 3,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$result = civicrm_api3('CustomField', 'create', [
'custom_group_id' => "Custom",
'label' => "Custom Radio Field test for empty submission",
'name' => 'test_radio_2',
'html_type' => "Radio",
'data_type' => "String",
'option_group_id' => "test_radio_2",
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$this->_customFields['test_radio_2'] = $result['id'];
$result = civicrm_api3('OptionGroup', 'create', [
'name' => "checkboxes_1",
'title' => "Checkboxes",
'data_type' => "String",
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$result = civicrm_api3('OptionValue', 'create', [
'option_group_id' => "checkboxes_1",
'name' => "Red",
'label' => "Red",
'value' => 1,
'is_default' => 0,
'weight' => 1,
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$result = civicrm_api3('OptionValue', 'create', [
'option_group_id' => "checkboxes_1",
'name' => "Green",
'label' => "Green",
'value' => 2,
'is_default' => 0,
'weight' => 2,
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$result = civicrm_api3('CustomField', 'create', [
'custom_group_id' => "Custom",
'label' => "Checkboxes",
'name' => 'color_checkboxes',
'html_type' => "CheckBox",
'data_type' => "String",
'option_group_id' => "checkboxes_1",
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$this->_customFields['color_checkboxes'] = $result['id'];
$result = civicrm_api3('OptionGroup', 'create', [
'name' => "fruits_1",
'title' => "Fruits",
'data_type' => "String",
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$result = civicrm_api3('OptionValue', 'create', [
'option_group_id' => "fruits_1",
'name' => "Apple",
'label' => "Apple",
'value' => "Apple",
'is_default' => 0,
'weight' => 1,
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$result = civicrm_api3('OptionValue', 'create', [
'option_group_id' => "fruits_1",
'name' => "Mango",
'label' => "Mango",
'value' => "Mango",
'is_default' => 0,
'weight' => 2,
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$result = civicrm_api3('OptionValue', 'create', [
'option_group_id' => "fruits_1",
'name' => "Orange",
'label' => "Orange",
'value' => "Orange",
'is_default' => 0,
'weight' => 3,
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$result = civicrm_api3('CustomField', 'create', [
'custom_group_id' => "Custom",
'label' => "Fruits",
'name' => 'fruits',
'html_type' => "CheckBox",
'data_type' => "String",
'option_group_id' => "fruits_1",
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$this->_customFields['fruits'] = $result['id'];
$result = civicrm_api3('CustomField', 'create', [
'custom_group_id' => "Custom",
'label' => "Label for custom radio field",
'name' => 'single_radio',
'html_type' => "Radio",
'data_type' => "String",
'option_group_id' => "radio_1",
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$this->_customFields['single_radio'] = $result['id'];
// Add OptionGroup for Select element
$result = civicrm_api3('OptionGroup', 'create', [
'name' => "list_1",
'title' => "Select",
'data_type' => "String",
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
// Add First OptionValue to OptionGroup for Select element
$result = civicrm_api3('OptionValue', 'create', [
'option_group_id' => "list_1",
'name' => "Option A",
'label' => "Option A",
'value' => 'OptionA',
'is_default' => 0,
'weight' => 1,
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
// Add Second OptionValue to OptionGroup for Select element
$result = civicrm_api3('OptionValue', 'create', [
'option_group_id' => "list_1",
'name' => "Option B",
'label' => "Option B",
'value' => 'OptionB',
'is_default' => 0,
'weight' => 1,
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
// Add Field of type Select
$result = civicrm_api3('CustomField', 'create', [
'custom_group_id' => "Custom",
'label' => "List",
'name' => 'select_list',
'html_type' => "Select",
'data_type' => "String",
'option_group_id' => "list_1",
'is_active' => 1,
]);
$this
->assertEquals(0, $result['is_error']);
$this
->assertEquals(1, $result['count']);
$this->_customFields['select_list'] = $result['id'];
}