diff --git a/app/Models/Client.php b/app/Models/Client.php index bfbcc9e7c4e9..7624067aac7d 100644 --- a/app/Models/Client.php +++ b/app/Models/Client.php @@ -457,12 +457,11 @@ class Client extends BaseModel implements HasLocalePreference $fees_and_limits = $method->fees_and_limits->{"1"}; else return true; - if ((property_exists($fees_and_limits, 'min_limit')) && $fees_and_limits->min_limit !== null && $amount < $fees_and_limits->min_limit) return false; - if ((property_exists($fees_and_limits, 'max_limit')) && $fees_and_limits->max_limit !== null && $amount > $fees_and_limits->min_limit) + if ((property_exists($fees_and_limits, 'max_limit')) && $fees_and_limits->max_limit !== null && $amount > $fees_and_limits->max_limit) return false; return true; diff --git a/tests/Feature/CompanyGatewayTest.php b/tests/Feature/CompanyGatewayTest.php index 1ce75f3d639f..26cf4f4fdc68 100644 --- a/tests/Feature/CompanyGatewayTest.php +++ b/tests/Feature/CompanyGatewayTest.php @@ -65,5 +65,61 @@ class CompanyGatewayTest extends TestCase //confirm amount filtering works + $amount = 100; + + if(isset($cg->fees_and_limits)) + $fees_and_limits = $cg->fees_and_limits->{"1"}; + else + $passes = true; + + if ((property_exists($fees_and_limits, 'min_limit')) && $fees_and_limits->min_limit !== null && $amount < $fees_and_limits->min_limit) + $passes = false; + else if ((property_exists($fees_and_limits, 'max_limit')) && $fees_and_limits->max_limit !== null && $amount > $fees_and_limits->max_limit) + $passes = false; + else + $passes = true; + + $this->assertFalse($passes); + + $amount = 235; + + if(isset($cg->fees_and_limits)) + $fees_and_limits = $cg->fees_and_limits->{"1"}; + else + $passes = true; + + if ((property_exists($fees_and_limits, 'min_limit')) && $fees_and_limits->min_limit !== null && $amount < $fees_and_limits->min_limit) { + info("amount {$amount} less than ". $fees_and_limits->min_limit); + $passes = false; + } + else if ((property_exists($fees_and_limits, 'max_limit')) && $fees_and_limits->max_limit !== null && $amount > $fees_and_limits->max_limit){ + info("amount {$amount} greater than ". $fees_and_limits->max_limit); + $passes = false; + } + else + $passes = true; + + $this->assertTrue($passes); + + $amount = 70000; + + if(isset($cg->fees_and_limits)) + $fees_and_limits = $cg->fees_and_limits->{"1"}; + else + $passes = true; + + if ((property_exists($fees_and_limits, 'min_limit')) && $fees_and_limits->min_limit !== null && $amount < $fees_and_limits->min_limit) { + info("amount {$amount} less than ". $fees_and_limits->min_limit); + $passes = false; + } + else if ((property_exists($fees_and_limits, 'max_limit')) && $fees_and_limits->max_limit !== null && $amount > $fees_and_limits->max_limit){ + info("amount {$amount} greater than ". $fees_and_limits->max_limit); + $passes = false; + } + else + $passes = true; + + $this->assertFalse($passes); + } } \ No newline at end of file