From 83d0230136ad6320d2110f881c718fdb129f981c Mon Sep 17 00:00:00 2001 From: Seamus Lee Date: Fri, 10 Mar 2017 08:40:56 +1100 Subject: [PATCH] Update API examples and add example of using user_contact_id as id for current logged in user --- api/v3/examples/Contact/APIChainedArray.php | 9 +- .../Contact/APIChainedArrayFormats.php | 1 + .../Contact/APIChainedArrayMultipleCustom.php | 1 + .../ContactIDOfLoggedInUserContactAPI.php | 143 ++++++++++++++++++ api/v3/examples/Contact/Get.php | 1 + api/v3/examples/Contact/GetSingleContact.php | 1 + .../Contact/GroupFilterUsingContactAPI.php | 1 + tests/phpunit/api/v3/ContactTest.php | 8 + 8 files changed, 161 insertions(+), 4 deletions(-) create mode 100644 api/v3/examples/Contact/ContactIDOfLoggedInUserContactAPI.php diff --git a/api/v3/examples/Contact/APIChainedArray.php b/api/v3/examples/Contact/APIChainedArray.php index 35f3a002d4..22ac36b2bc 100644 --- a/api/v3/examples/Contact/APIChainedArray.php +++ b/api/v3/examples/Contact/APIChainedArray.php @@ -111,6 +111,7 @@ function contact_get_expectedresult() { 'im' => '', 'worldregion_id' => '', 'world_region' => '', + 'languages' => 'English (United States)', 'individual_prefix' => '', 'individual_suffix' => '', 'communication_style' => '', @@ -146,6 +147,8 @@ function contact_get_expectedresult() { 'display_name' => 'abc3 xyz3', 'contribution_id' => '2', 'currency' => 'USD', + 'payment_instrument' => 'Credit Card', + 'payment_instrument_id' => '1', 'receive_date' => '2011-01-01 00:00:00', 'non_deductible_amount' => '10.00', 'total_amount' => '120.00', @@ -162,6 +165,7 @@ function contact_get_expectedresult() { 'contribution_recur_id' => '', 'is_test' => 0, 'is_pay_later' => 0, + 'contribution_status' => 'Completed', 'contribution_status_id' => '1', 'contribution_check_number' => '', 'contribution_campaign_id' => '', @@ -181,11 +185,8 @@ function contact_get_expectedresult() { 'contribution_campaign_title' => '', 'contribution_note' => '', 'contribution_batch' => '', - 'contribution_status' => 'Completed', - 'payment_instrument' => 'Credit Card', - 'payment_instrument_id' => '1', - 'instrument_id' => '1', 'check_number' => '', + 'instrument_id' => '1', 'id' => '2', 'contribution_type_id' => '1', ), diff --git a/api/v3/examples/Contact/APIChainedArrayFormats.php b/api/v3/examples/Contact/APIChainedArrayFormats.php index 5145682730..491dff540c 100644 --- a/api/v3/examples/Contact/APIChainedArrayFormats.php +++ b/api/v3/examples/Contact/APIChainedArrayFormats.php @@ -112,6 +112,7 @@ function contact_get_expectedresult() { 'im' => '', 'worldregion_id' => '', 'world_region' => '', + 'languages' => 'English (United States)', 'individual_prefix' => '', 'individual_suffix' => '', 'communication_style' => '', diff --git a/api/v3/examples/Contact/APIChainedArrayMultipleCustom.php b/api/v3/examples/Contact/APIChainedArrayMultipleCustom.php index d9d6b8f49e..5525cc34d0 100644 --- a/api/v3/examples/Contact/APIChainedArrayMultipleCustom.php +++ b/api/v3/examples/Contact/APIChainedArrayMultipleCustom.php @@ -109,6 +109,7 @@ function contact_get_expectedresult() { 'im' => '', 'worldregion_id' => '', 'world_region' => '', + 'languages' => 'English (United States)', 'individual_prefix' => '', 'individual_suffix' => '', 'communication_style' => '', diff --git a/api/v3/examples/Contact/ContactIDOfLoggedInUserContactAPI.php b/api/v3/examples/Contact/ContactIDOfLoggedInUserContactAPI.php new file mode 100644 index 0000000000..f69947ecc4 --- /dev/null +++ b/api/v3/examples/Contact/ContactIDOfLoggedInUserContactAPI.php @@ -0,0 +1,143 @@ + 'user_contact_id', + ); + + try{ + $result = civicrm_api3('Contact', 'get', $params); + } + catch (CiviCRM_API3_Exception $e) { + // Handle error here. + $errorMessage = $e->getMessage(); + $errorCode = $e->getErrorCode(); + $errorData = $e->getExtraParams(); + return array( + 'is_error' => 1, + 'error_message' => $errorMessage, + 'error_code' => $errorCode, + 'error_data' => $errorData, + ); + } + + return $result; +} + +/** + * Function returns array of result expected from previous function. + * + * @return array + * API result array + */ +function contact_get_expectedresult() { + + $expectedResult = array( + 'is_error' => 0, + 'version' => 3, + 'count' => 1, + 'id' => 3, + 'values' => array( + '3' => array( + 'contact_id' => '3', + 'contact_type' => 'Individual', + 'contact_sub_type' => '', + 'sort_name' => 'User 412074113, Logged In', + 'display_name' => 'Mr. Logged In User 412074113 II', + 'do_not_email' => 0, + 'do_not_phone' => 0, + 'do_not_mail' => 0, + 'do_not_sms' => 0, + 'do_not_trade' => 0, + 'is_opt_out' => 0, + 'legal_identifier' => '', + 'external_identifier' => '', + 'nick_name' => '', + 'legal_name' => '', + 'image_URL' => '', + 'preferred_communication_method' => '', + 'preferred_language' => 'en_US', + 'preferred_mail_format' => 'Both', + 'first_name' => 'Logged In', + 'middle_name' => 'J.', + 'last_name' => 'User 412074113', + 'prefix_id' => '3', + 'suffix_id' => '3', + 'formal_title' => '', + 'communication_style_id' => '', + 'job_title' => '', + 'gender_id' => '', + 'birth_date' => '', + 'is_deceased' => 0, + 'deceased_date' => '', + 'household_name' => '', + 'organization_name' => '', + 'sic_code' => '', + 'contact_is_deleted' => 0, + 'current_employer' => '', + 'address_id' => '', + 'street_address' => '', + 'supplemental_address_1' => '', + 'supplemental_address_2' => '', + 'city' => '', + 'postal_code_suffix' => '', + 'postal_code' => '', + 'geo_code_1' => '', + 'geo_code_2' => '', + 'state_province_id' => '', + 'country_id' => '', + 'phone_id' => '', + 'phone_type_id' => '', + 'phone' => '', + 'email_id' => '1', + 'email' => 'anthony_anderson@civicrm.org', + 'on_hold' => 0, + 'im_id' => '', + 'provider_id' => '', + 'im' => '', + 'worldregion_id' => '', + 'world_region' => '', + 'languages' => 'English (United States)', + 'individual_prefix' => 'Mr.', + 'individual_suffix' => 'II', + 'communication_style' => '', + 'gender' => '', + 'state_province_name' => '', + 'state_province' => '', + 'country' => '', + 'id' => '3', + ), + ), + ); + + return $expectedResult; +} + +/* +* This example has been generated from the API test suite. +* The test that created it is called "testLoggedInUserAPISupportToken" +* and can be found at: +* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php +* +* You can see the outcome of the API tests at +* https://test.civicrm.org/job/CiviCRM-master-git/ +* +* To Learn about the API read +* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API +* +* Browse the api on your own site with the api explorer +* http://MYSITE.ORG/path/to/civicrm/api +* +* Read more about testing here +* http://wiki.civicrm.org/confluence/display/CRM/Testing +* +* API Standards documentation: +* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards +*/ diff --git a/api/v3/examples/Contact/Get.php b/api/v3/examples/Contact/Get.php index 9f666711fc..04751ef5ef 100644 --- a/api/v3/examples/Contact/Get.php +++ b/api/v3/examples/Contact/Get.php @@ -102,6 +102,7 @@ function contact_get_expectedresult() { 'im' => '', 'worldregion_id' => '', 'world_region' => '', + 'languages' => 'English (United States)', 'individual_prefix' => '', 'individual_suffix' => '', 'communication_style' => '', diff --git a/api/v3/examples/Contact/GetSingleContact.php b/api/v3/examples/Contact/GetSingleContact.php index 8df5d1e5af..94d4885b2b 100644 --- a/api/v3/examples/Contact/GetSingleContact.php +++ b/api/v3/examples/Contact/GetSingleContact.php @@ -100,6 +100,7 @@ function contact_getsingle_expectedresult() { 'im' => '', 'worldregion_id' => '', 'world_region' => '', + 'languages' => '', 'individual_prefix' => '', 'individual_suffix' => '', 'communication_style' => '', diff --git a/api/v3/examples/Contact/GroupFilterUsingContactAPI.php b/api/v3/examples/Contact/GroupFilterUsingContactAPI.php index 879b059fa5..7748fc46d9 100644 --- a/api/v3/examples/Contact/GroupFilterUsingContactAPI.php +++ b/api/v3/examples/Contact/GroupFilterUsingContactAPI.php @@ -109,6 +109,7 @@ function contact_get_expectedresult() { 'im' => '', 'worldregion_id' => '', 'world_region' => '', + 'languages' => 'English (United States)', 'individual_prefix' => '', 'individual_suffix' => '', 'communication_style' => '', diff --git a/tests/phpunit/api/v3/ContactTest.php b/tests/phpunit/api/v3/ContactTest.php index 8e9c020395..e793746180 100644 --- a/tests/phpunit/api/v3/ContactTest.php +++ b/tests/phpunit/api/v3/ContactTest.php @@ -3370,4 +3370,12 @@ class api_v3_ContactTest extends CiviUnitTestCase { $this->callAPISuccess('contact', 'delete', array('id' => $created_contact_id, 'skip_undelete' => TRUE)); } + public function testLoggedInUserAPISupportToken() { + $description = "Get contact id of the current logged in user"; + $subFile = "ContactIDOfLoggedInUserContactAPI"; + $cid = $this->createLoggedInUser(); + $contact = $this->callAPIAndDocument('contact', 'get', array('id' => 'user_contact_id'), __FUNCTION__, __FILE__, $description, $subFile); + $this->assertEquals($cid, $contact['id']); + } + } -- 2.25.1