individualCreate(); $customGroup = $this->customGroupCreate(); $fields = array( 'custom_group_id' => $customGroup['id'], 'data_type' => 'Country', 'html_type' => 'Select Country', 'default_value' => '', ); $customField = $this->customFieldCreate($fields); $params[] = array( $customField['id'] => array( 'value' => 1228, 'type' => 'Country', 'custom_field_id' => $customField['id'], 'custom_group_id' => $customGroup['id'], 'table_name' => $customGroup['values'][$customGroup['id']]['table_name'], 'column_name' => $customField['values'][$customField['id']]['column_name'], 'file_id' => '', ), ); CRM_Core_BAO_CustomValueTable::store($params, 'civicrm_contact', $contactID); $this->customFieldDelete($customField['id']); $this->customGroupDelete($customGroup['id']); $this->contactDelete($contactID); } /** * Test store function for file. */ public function testStoreFile() { $contactID = $this->individualCreate(); $file = $this->callAPISuccess('File', 'create', array('uri' => 'dummy_data')); $customGroup = $this->customGroupCreate(); $fields = array( 'custom_group_id' => $customGroup['id'], 'data_type' => 'File', 'html_type' => 'File', 'default_value' => '', ); $customField = $this->customFieldCreate($fields); $params[] = array( $customField['id'] => array( 'value' => 'i/contact_house.png', 'type' => 'File', 'custom_field_id' => $customField['id'], 'custom_group_id' => $customGroup['id'], 'table_name' => $customGroup['values'][$customGroup['id']]['table_name'], 'column_name' => $customField['values'][$customField['id']]['column_name'], 'file_id' => $file['id'], ), ); CRM_Core_BAO_CustomValueTable::store($params, 'civicrm_contact', $contactID); $this->customFieldDelete($customField['id']); $this->customGroupDelete($customGroup['id']); $this->contactDelete($contactID); } /** * Test store function for state province. */ public function testStoreStateProvince() { $contactID = $this->individualCreate(); $customGroup = $this->customGroupCreate(); $fields = array( 'custom_group_id' => $customGroup['id'], 'data_type' => 'StateProvince', 'html_type' => 'Select State/Province', 'default_value' => '', ); $customField = $this->customFieldCreate($fields); $params[] = array( $customField['id'] => array( 'value' => 1029, 'type' => 'StateProvince', 'custom_field_id' => $customField['id'], 'custom_group_id' => $customGroup['id'], 'table_name' => $customGroup['values'][$customGroup['id']]['table_name'], 'column_name' => $customField['values'][$customField['id']]['column_name'], 'file_id' => 1, ), ); CRM_Core_BAO_CustomValueTable::store($params, 'civicrm_contact', $contactID); $this->customFieldDelete($customField['id']); $this->customGroupDelete($customGroup['id']); $this->contactDelete($contactID); } /** * Test store function for date. */ public function testStoreDate() { $params = array(); $contactID = $this->individualCreate(); $customGroup = $this->customGroupCreate(); $fields = array( 'custom_group_id' => $customGroup['id'], 'data_type' => 'Date', 'html_type' => 'Select Date', 'default_value' => '', ); $customField = $this->customFieldCreate($fields); $params[] = array( $customField['id'] => array( 'value' => '20080608000000', 'type' => 'Date', 'custom_field_id' => $customField['id'], 'custom_group_id' => $customGroup['id'], 'table_name' => $customGroup['values'][$customGroup['id']]['table_name'], 'column_name' => $customField['values'][$customField['id']]['column_name'], 'file_id' => '', ), ); CRM_Core_BAO_CustomValueTable::store($params, 'civicrm_contact', $contactID); $this->customFieldDelete($customField['id']); $this->customGroupDelete($customGroup['id']); $this->contactDelete($contactID); } /** * Test store function for rich text editor. */ public function testStoreRichTextEditor() { $params = array(); $contactID = $this->individualCreate(); $customGroup = $this->customGroupCreate(); $fields = array( 'custom_group_id' => $customGroup['id'], 'html_type' => 'RichTextEditor', 'data_type' => 'Memo', ); $customField = $this->customFieldCreate($fields); $params[] = array( $customField['id'] => array( 'value' => '

This is a test

', 'type' => 'Memo', 'custom_field_id' => $customField['id'], 'custom_group_id' => $customGroup['id'], 'table_name' => $customGroup['values'][$customGroup['id']]['table_name'], 'column_name' => $customField['values'][$customField['id']]['column_name'], 'file_id' => '', ), ); CRM_Core_BAO_CustomValueTable::store($params, 'civicrm_contact', $contactID); $this->customFieldDelete($customField['id']); $this->customGroupDelete($customGroup['id']); $this->contactDelete($contactID); } /** * Test getEntityValues function for stored value. */ public function testGetEntityValues() { $params = array(); $contactID = $this->individualCreate(); $customGroup = $this->customGroupCreate(array('extends' => 'Individual')); $fields = array( 'custom_group_id' => $customGroup['id'], 'html_type' => 'RichTextEditor', 'data_type' => 'Memo', ); $customField = $this->customFieldCreate($fields); $params[] = array( $customField['id'] => array( 'value' => '

This is a test

', 'type' => 'Memo', 'custom_field_id' => $customField['id'], 'custom_group_id' => $customGroup['id'], 'table_name' => $customGroup['values'][$customGroup['id']]['table_name'], 'column_name' => $customField['values'][$customField['id']]['column_name'], 'file_id' => '', ), ); CRM_Core_BAO_CustomValueTable::store($params, 'civicrm_contact', $contactID); $entityValues = CRM_Core_BAO_CustomValueTable::getEntityValues($contactID, 'Individual'); $this->assertEquals($entityValues[$customField['id']], '

This is a test

', 'Checking same for returned value.' ); $this->customFieldDelete($customField['id']); $this->customGroupDelete($customGroup['id']); $this->contactDelete($contactID); } public function testCustomGroupMultiple() { $params = array(); $contactID = $this->individualCreate(); $customGroup = $this->customGroupCreate(); $fields = array( 'custom_group_id' => $customGroup['id'], 'data_type' => 'String', 'html_type' => 'Text', ); $customField = $this->customFieldCreate($fields); $params = array( 'entityID' => $contactID, 'custom_' . $customField['id'] . '_-1' => 'First String', ); $error = CRM_Core_BAO_CustomValueTable::setValues($params); $newParams = array( 'entityID' => $contactID, 'custom_' . $customField['id'] => 1, ); $result = CRM_Core_BAO_CustomValueTable::getValues($newParams); $this->assertEquals($params['custom_' . $customField['id'] . '_-1'], $result['custom_' . $customField['id']]); $this->assertEquals($params['entityID'], $result['entityID']); $this->customFieldDelete($customField['id']); $this->customGroupDelete($customGroup['id']); $this->contactDelete($contactID); } }