Test fix
authorColeman Watts <coleman@civicrm.org>
Tue, 29 Mar 2016 02:01:10 +0000 (22:01 -0400)
committerColeman Watts <coleman@civicrm.org>
Mon, 10 Oct 2016 20:46:13 +0000 (16:46 -0400)
The unconditional translation of financial_type to contribution_type
was messing up a few tests. This seems more sensible anyway.

api/v3/utils.php
tests/phpunit/api/v3/ContributionTest.php

index 53f3206ed57ff0c5f9fdae045d93da0f8f6ee940..e48f6a52cb2ac89d186c6842445fa41fd81b0ffc 100644 (file)
@@ -176,8 +176,13 @@ function civicrm_api3_create_success($values = 1, $params = array(), $entity = N
         $values[$key]['id'] = $item[$lowercase_entity . "_id"];
       }
       if (!empty($item['financial_type_id'])) {
-        //4.3 legacy handling
-        $values[$key]['contribution_type_id'] = $item['financial_type_id'];
+        // 4.3 legacy handling - translate financial_type to contribution_type unless financial_type is explicitly specified.
+        if (!is_array($params) || empty($params['return']) || !is_array($params['return']) ||
+          (empty($params['return']['financial_type_id']) && !in_array('financial_type_id', $params['return'])) ||
+          (!empty($params['return']['contribution_type_id']) || in_array('contribution_type_id', $params['return']))
+        ) {
+          $values[$key]['contribution_type_id'] = $item['financial_type_id'];
+        }
       }
       if (!empty($item['next_sched_contribution_date'])) {
         // 4.4 legacy handling
index d3d1ca43caef1a2efd7b64c48abdb1f8ca76f769..5d92cff0a495b4a61cc51094b6f073c7ccf668cb 100644 (file)
@@ -634,7 +634,7 @@ class api_v3_ContributionTest extends CiviUnitTestCase {
       'contribution_status_id' => 1,
     );
 
-    $this->callAPIFailure('contribution', 'create', $params, 'contact_id is not valid : 999');
+    $this->callAPIFailure('contribution', 'create', $params);
   }
 
   /**