mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-04 07:57:33 -05:00 
			
		
		
		
	Fixes for fee calculations - tests
This commit is contained in:
		
							parent
							
								
									035a152a96
								
							
						
					
					
						commit
						d325822180
					
				@ -66,7 +66,7 @@ class CompanyGatewayResolutionTest extends TestCase
 | 
				
			|||||||
        $data[1]['fee_tax_rate2'] = 10;
 | 
					        $data[1]['fee_tax_rate2'] = 10;
 | 
				
			||||||
        $data[1]['fee_tax_name3'] = 'GST';
 | 
					        $data[1]['fee_tax_name3'] = 'GST';
 | 
				
			||||||
        $data[1]['fee_tax_rate3'] = 10;
 | 
					        $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]['fee_cap'] = 0;
 | 
				
			||||||
        $data[1]['is_enabled'] = true;
 | 
					        $data[1]['is_enabled'] = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -80,7 +80,7 @@ class CompanyGatewayResolutionTest extends TestCase
 | 
				
			|||||||
        $data[2]['fee_tax_rate2'] = 10;
 | 
					        $data[2]['fee_tax_rate2'] = 10;
 | 
				
			||||||
        $data[2]['fee_tax_name3'] = 'GST';
 | 
					        $data[2]['fee_tax_name3'] = 'GST';
 | 
				
			||||||
        $data[2]['fee_tax_rate3'] = 10;
 | 
					        $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]['fee_cap'] = 0;
 | 
				
			||||||
        $data[2]['is_enabled'] = true;
 | 
					        $data[2]['is_enabled'] = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -186,4 +186,58 @@ class CompanyGatewayResolutionTest extends TestCase
 | 
				
			|||||||
        $this->assertEquals(2, count($this->client->service()->getPaymentMethods($amount)));
 | 
					        $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);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user