From: Seamus Lee Date: Mon, 1 Aug 2016 10:27:04 +0000 (+1000) Subject: CRM-19126 add test to prove that tax_amount gets reset on the complete transaction... X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=effb4d8555f7506cec19eb8add5d04801cd4f0f3;p=civicrm-core.git CRM-19126 add test to prove that tax_amount gets reset on the complete transaction call when total amount is not specified --- diff --git a/tests/phpunit/api/v3/ContributionTest.php b/tests/phpunit/api/v3/ContributionTest.php index b2fd05a1bc..f03f459106 100644 --- a/tests/phpunit/api/v3/ContributionTest.php +++ b/tests/phpunit/api/v3/ContributionTest.php @@ -1758,6 +1758,47 @@ class api_v3_ContributionTest extends CiviUnitTestCase { $this->assertEquals('99.44', $contribution['net_amount']); } + /** + * CRM-19126 Add test to verify when complete transaction is called tax amount is not changed + */ + public function testCheckTaxAmount() { + $contact = $this->createLoggedInUser(); + $financialType = $this->callAPISuccess('financial_type', 'create', array( + 'name' => 'Test taxable financial Type', + 'is_reserved' => 0, + 'is_active' => 1, + )); + $financialAccount = $this->callAPISuccess('financial_account', 'create', array( + 'name' => 'Test Tax financial account ', + 'contact_id' => $contact, + 'financial_account_type_id' => 2, + 'is_tax' => 1, + 'tax_rate' => 5.00, + 'is_reserved' => 0, + 'is_active' => 1, + 'is_default' => 0, + )); + $financialTypeId = $financialType['id']; + $financialAccountId = $financialAccount['id']; + $financialAccountParams = array( + 'entity_table' => 'civicrm_financial_type', + 'entity_id' => $financialTypeId, + 'account_relationship' => 10, + 'financial_account_id' => $financialAccountId, + ); + $financialRelation = CRM_Financial_BAO_FinancialTypeAccount::add($financialAccountParams); + $taxRates = CRM_Core_PseudoConstant::getTaxRates(); + $params = array_merge($this->_params, array('contribution_status_id' => 2, 'financial_type_id' => $financialTypeId)); + $contribution = $this->callAPISuccess('contribution', 'create', $params); + $contribution1 = $this->callAPISuccess('contribution', 'get', array('id' => $contribution['id'], 'return' => 'tax_amount', 'sequential' => 1)); + $this->callAPISuccess('contribution', 'completetransaction', array( + 'id' => $contribution['id'], + 'trxn_id' => '777788888', + )); + $contribution2 = $this->callAPISuccess('contribution', 'get', array('id' => $contribution['id'], 'return' => 'tax_amount', 'sequential' => 1)); + $this->assertEquals($contribution1['values'][0]['tax_amount'], $contribution2['values'][0]['tax_amount']); + } + /** * Test repeat contribution successfully creates line items. */