Fix issue where non numeric number was encounted in running unit tests on php7.2
authorSeamus Lee <seamuslee001@gmail.com>
Thu, 17 May 2018 21:51:42 +0000 (07:51 +1000)
committerSeamus Lee <seamuslee001@gmail.com>
Sun, 20 May 2018 10:02:17 +0000 (20:02 +1000)
Unit Test in api_v3_MembershipTest was throwing an error on the non numeric value of tax_amount, tax_amount was a NULL string.

CRM/Contribute/BAO/Contribution.php

index a33168d45ab0d74fb6ce5566301e6f496fd57ddc..974b2e6945d1d7a2fb0115b265a71a7043db89c1 100644 (file)
@@ -3643,7 +3643,7 @@ INNER JOIN civicrm_activity ON civicrm_activity_contact.activity_id = civicrm_ac
           if (($lineItemDetails['tax_amount'] && $lineItemDetails['tax_amount'] !== 'null') || ($context == 'changeFinancialType')) {
             $invoiceSettings = Civi::settings()->get('contribution_invoice_settings');
             $taxTerm = CRM_Utils_Array::value('tax_term', $invoiceSettings);
-            $taxAmount = $lineItemDetails['tax_amount'];
+            $taxAmount = (float) $lineItemDetails['tax_amount'];
             if ($context == 'changeFinancialType' && $lineItemDetails['tax_amount'] === 'null') {
               // reverse the Sale Tax amount if there is no tax rate associated with new Financial Type
               $taxAmount = CRM_Utils_Array::value('tax_amount', CRM_Utils_Array::value($fieldValueId, $previousLineItems), 0);