1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-13 22:54:25 +01:00
invoiceninja/tests/Unit/RefundUnitTest.php

57 lines
1.3 KiB
PHP
Raw Normal View History

2021-10-21 02:26:19 +02:00
<?php
/**
* Invoice Ninja (https://invoiceninja.com).
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://opensource.org/licenses/AAL
*/
namespace Tests\Unit;
2021-10-21 04:03:41 +02:00
use App\Helpers\Invoice\ProRata;
2021-10-21 02:26:19 +02:00
use App\Models\RecurringInvoice;
use App\Utils\Ninja;
use Illuminate\Support\Carbon;
use Tests\TestCase;
/**
* @test
*/
class RefundUnitTest extends TestCase
{
public function setUp() :void
{
parent::setUp();
}
public function testProRataRefundMonthly()
{
2021-10-21 04:03:41 +02:00
$pro_rata = new ProRata();
$refund = $pro_rata->refund(10, Carbon::parse('2021-01-01'), Carbon::parse('2021-01-31'), RecurringInvoice::FREQUENCY_MONTHLY);
2021-10-21 02:26:19 +02:00
$this->assertEquals(9.68, $refund);
$this->assertEquals(30, Carbon::parse('2021-01-01')->diffInDays(Carbon::parse('2021-01-31')));
}
public function testProRataRefundYearly()
{
2021-10-21 04:03:41 +02:00
$pro_rata = new ProRata();
2021-10-21 02:26:19 +02:00
2021-10-21 04:03:41 +02:00
$refund = $pro_rata->refund(10, Carbon::parse('2021-01-01'), Carbon::parse('2021-01-31'), RecurringInvoice::FREQUENCY_ANNUALLY);
2021-10-21 02:26:19 +02:00
$this->assertEquals(0.82, $refund);
}
public function testDiffInDays()
{
$this->assertEquals(30, Carbon::parse('2021-01-01')->diffInDays(Carbon::parse('2021-01-31')));
}
}