Fixes for fee calculations - tests

This commit is contained in:
David Bomba 2022-03-16 21:50:22 +11:00
parent 035a152a96
commit d325822180

View File

@ -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);
}
}