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\FunctionalJavascript
Code
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']);
  
  $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'];
  
  $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']);
  
  $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']);
  
  $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']);
  
  $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'];
}