CRM-11320 this makes the api stable from 4.2 to 4.3
authoreileen <eileen@fuzion.co.nz>
Wed, 15 May 2013 14:02:41 +0000 (02:02 +1200)
committereileen <eileen@fuzion.co.nz>
Sun, 26 May 2013 09:03:45 +0000 (21:03 +1200)
Conflicts:

api/v3/Contribution.php

api/v3/examples/Contribution/ContributionCreateWithNote.php
api/v3/examples/Contribution/ContributionCreateWithSoftCredit.php
api/v3/examples/ContributionCreate.php
api/v3/examples/ContributionGet.php
api/v3/utils.php
tests/phpunit/api/v3/ContributionTest.php
tests/phpunit/api/v3/EventTest.php

index a3c8ba0aa30b3f2ea3c55fa8197c30ba90ab4fec..7c21314c0654a954bb329860e56474826acfb402 100644 (file)
@@ -66,6 +66,7 @@ function contribution_create_expectedresult(){
           'address_id' => '',
           'check_number' => 'null',
           'campaign_id' => '',
+          'contribution_type_id' => '1',
         ),
     ),
 );
index 0c7bfc5145bdb75c1a5d9b352aa22c0c0bbc41fb..8270f673f90d80308268f879474fb3b0c0f2944a 100644 (file)
@@ -5,7 +5,7 @@
  */
 function contribution_create_example(){
 $params = array( 
-  'contact_id' => 1,
+  'contact_id' => 3,
   'receive_date' => '20120511',
   'total_amount' => '100',
   'financial_type_id' => 1,
@@ -63,6 +63,7 @@ function contribution_create_expectedresult(){
           'address_id' => '',
           'check_number' => '',
           'campaign_id' => '',
+          'contribution_type_id' => '1',
         ),
     ),
 );
index 550b1e4b2db7256c88951c7eeef765a16996eb06..ffee5610795a46ce70e1b3f14d0e34cbfc82b360 100644 (file)
@@ -62,6 +62,7 @@ function contribution_create_expectedresult(){
           'address_id' => '',
           'check_number' => '',
           'campaign_id' => '',
+          'contribution_type_id' => '1',
         ),
     ),
 );
index 7b3e165ec04ca2e0e15bf3954cfd15a5c6388126..bdccc15aef54f2fa89fa6df6cff2e6ca85383622 100644 (file)
@@ -72,6 +72,7 @@ function contribution_get_expectedresult(){
           'contribution_payment_instrument' => '',
           'contribution_check_number' => '',
           'id' => '1',
+          'contribution_type_id' => '1',
         ),
     ),
 );
index e1d468d714259f2a7ff7193429a40ff56516dffc..bc50e3cc28cae0f3a6760ba808e2091ec96c442c 100644 (file)
@@ -182,6 +182,9 @@ function civicrm_api3_create_success($values = 1, $params = array(
       if (empty($item['id']) && !empty($item[$entity . "_id"])) {
         $values[$key]['id'] = $item[$entity . "_id"];
       }
+      if(!empty($item['financial_type_id'])){
+        $values[$key]['contribution_type_id'] = $item['financial_type_id'];
+      }
     }
   }
   //if ( array_key_exists ('debug',$params) && is_object ($dao)) {
index 18893ba05015af72364c2063caf77110dc95fda0..12c30c5749ae0da5c55ef512f29655a74b4772ee 100644 (file)
@@ -253,6 +253,7 @@ class api_v3_ContributionTest extends CiviUnitTestCase {
     $this->documentMe($params, $contribution, __FUNCTION__, __FILE__);
     $this->assertEquals($contribution['values'][$contribution['id']]['contact_id'], $this->_individualId, 'In line ' . __LINE__);
     $this->assertEquals($contribution['values'][$contribution['id']]['financial_type_id'], $this->_contributionTypeId);
+    $this->assertEquals($contribution['values'][$contribution['id']]['contribution_type_id'], $this->_contributionTypeId);
     $this->assertEquals($contribution['values'][$contribution['id']]['total_amount'], 100.00, 'In line ' . __LINE__);
     $this->assertEquals($contribution['values'][$contribution['id']]['non_deductible_amount'], 10.00, 'In line ' . __LINE__);
     $this->assertEquals($contribution['values'][$contribution['id']]['fee_amount'], 5.00, 'In line ' . __LINE__);
@@ -722,12 +723,14 @@ class api_v3_ContributionTest extends CiviUnitTestCase {
     );
 
     $contribution = civicrm_api('contribution', 'create', $params);
+    $this->assertAPISuccess($contribution);
     $this->documentMe($params, $contribution, __FUNCTION__, __FILE__, $description, $subfile);
     //     $result = civicrm_api('contribution','get', array('version' => 3,'return'=> 'soft_credit_to', 'sequential' => 1));
     //     $this->assertAPISuccess($result);
     //     $this->assertEquals($contact2['id'], $result['values'][$result['id']]['soft_credit_to']) ;
     //    well - the above doesn't work yet so lets do SQL
     $query = "SELECT count(*) FROM civicrm_contribution_soft WHERE contact_id = " . $contact2['id'];
+
     $count = CRM_Core_DAO::singleValueQuery($query);
     $this->assertEquals(1, $count);
 
index 275d9aca518bb21307fcdd49c669d6ff3496e67c..0b1b4067c10d3909b9e8e4cc866a3045acd762e5 100644 (file)
@@ -313,6 +313,7 @@ class api_v3_EventTest extends CiviUnitTestCase {
     $this->assertAPISuccess($result, ' Event Creation Failedon line ' . __LINE__);
     $getresult = civicrm_api('event', 'get', array('version' => 3,) + $contributionTypeArray);
     $this->assertAPISuccess($result, ' Event Creation on line ' . __LINE__);
+    $this->assertEquals($result['values'][$result['id']]['contribution_type_id'], 3);
     $this->assertEquals($result['id'], $getresult['id']);
     civicrm_api('event', 'delete', array('version' => 3, 'id' => $result['id']));
   }