From d325822180f2efe4fdec8b0ebfef65bc5ff8a5fe Mon Sep 17 00:00:00 2001 From: David Bomba Date: Wed, 16 Mar 2022 21:50:22 +1100 Subject: [PATCH] Fixes for fee calculations - tests --- .../Feature/CompanyGatewayResolutionTest.php | 58 ++++++++++++++++++- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/tests/Feature/CompanyGatewayResolutionTest.php b/tests/Feature/CompanyGatewayResolutionTest.php index 2eb9d015599a..a01cfde54e5f 100644 --- a/tests/Feature/CompanyGatewayResolutionTest.php +++ b/tests/Feature/CompanyGatewayResolutionTest.php @@ -66,7 +66,7 @@ class CompanyGatewayResolutionTest extends TestCase $data[1]['fee_tax_rate2'] = 10; $data[1]['fee_tax_name3'] = 'GST'; $data[1]['fee_tax_rate3'] = 10; - $data[1]['adjust_fee_percent'] = true; + $data[1]['adjust_fee_percent'] = false; $data[1]['fee_cap'] = 0; $data[1]['is_enabled'] = true; @@ -80,7 +80,7 @@ class CompanyGatewayResolutionTest extends TestCase $data[2]['fee_tax_rate2'] = 10; $data[2]['fee_tax_name3'] = 'GST'; $data[2]['fee_tax_rate3'] = 10; - $data[2]['adjust_fee_percent'] = true; + $data[2]['adjust_fee_percent'] = false; $data[2]['fee_cap'] = 0; $data[2]['is_enabled'] = true; @@ -186,4 +186,58 @@ class CompanyGatewayResolutionTest extends TestCase $this->assertEquals(2, count($this->client->service()->getPaymentMethods($amount))); } + + + public function testEnableFeeAdjustment() + { + + $data = []; + $data[1]['min_limit'] = -1; + $data[1]['max_limit'] = -1; + $data[1]['fee_amount'] = 0.3; + $data[1]['fee_percent'] = 1.75; + $data[1]['fee_tax_name1'] = ''; + $data[1]['fee_tax_rate1'] = 0; + $data[1]['fee_tax_name2'] = ''; + $data[1]['fee_tax_rate2'] = 0; + $data[1]['fee_tax_name3'] = ''; + $data[1]['fee_tax_rate3'] = 0; + $data[1]['adjust_fee_percent'] = true; + $data[1]['fee_cap'] = 0; + $data[1]['is_enabled'] = true; + + $data[2]['min_limit'] = -1; + $data[2]['max_limit'] = -1; + $data[2]['fee_amount'] = 0.30; + $data[2]['fee_percent'] = 1.75; + $data[2]['fee_tax_name1'] = ''; + $data[2]['fee_tax_rate1'] = 0; + $data[2]['fee_tax_name2'] = ''; + $data[2]['fee_tax_rate2'] = 0; + $data[2]['fee_tax_name3'] = ''; + $data[2]['fee_tax_rate3'] = 0; + $data[2]['adjust_fee_percent'] = true; + $data[2]['fee_cap'] = 0; + $data[2]['is_enabled'] = true; + + //disable ach here + $json_config = json_decode(config('ninja.testvars.stripe')); + + $this->cg = new CompanyGateway; + $this->cg->company_id = $this->company->id; + $this->cg->user_id = $this->user->id; + $this->cg->gateway_key = 'd14dd26a37cecc30fdd65700bfb55b23'; + $this->cg->require_cvv = true; + $this->cg->require_billing_address = true; + $this->cg->require_shipping_address = true; + $this->cg->update_details = true; + $this->cg->config = encrypt(json_encode($json_config)); + $this->cg->fees_and_limits = $data; + $this->cg->save(); + + + $fee = $this->cg->calcGatewayFee(89, GatewayType::CREDIT_CARD, false); + $this->assertEquals(1.89, $fee); + + } }