fix school year for all tables
Tests / PHPUnit (push) Failing after 1m20s

This commit is contained in:
root
2026-07-18 14:45:38 -04:00
parent 4db8334a3c
commit 716cc8b8d3
125 changed files with 2315 additions and 81 deletions
@@ -0,0 +1,91 @@
<?php
namespace Tests\App\Libraries;
use App\Libraries\FinancialStatus;
use App\Libraries\InvoiceLedgerService;
use CodeIgniter\Test\CIUnitTestCase;
class InvoiceLedgerServiceHarness extends InvoiceLedgerService
{
private array $invoice;
private float $paidTotal;
public function __construct(array $invoice, float $paidTotal = 0.0)
{
$this->invoice = $invoice;
$this->paidTotal = $paidTotal;
}
protected function loadInvoice(int $invoiceId): ?array
{
return $invoiceId === (int) ($this->invoice['id'] ?? 0) ? $this->invoice : null;
}
protected function calculateTuitionTotal(array $invoice): float
{
return 0.0;
}
protected function calculateEventTotal(array $invoice): float
{
return 0.0;
}
protected function calculateAdditionalCharges(int $invoiceId): float
{
return 0.0;
}
protected function calculateDiscounts(int $invoiceId): float
{
return 0.0;
}
protected function calculateValidPayments(int $invoiceId): float
{
return $this->paidTotal;
}
protected function calculatePaidRefunds(int $invoiceId): float
{
return 0.0;
}
}
class InvoiceLedgerServiceTest extends CIUnitTestCase
{
public function testCarryForwardInvoiceUsesStoredOpeningBalance(): void
{
$service = new InvoiceLedgerServiceHarness([
'id' => 10,
'invoice_number' => 'CF-20252026-20262027-P8-I4',
'total_amount' => '90.00',
'semester' => 'Opening Balance',
'description' => 'Balance carried over from previous school year 2025-2026.',
]);
$calculation = $service->calculateInvoice(10);
$this->assertSame('90.00', $calculation['total_amount']);
$this->assertSame('90.00', $calculation['balance']);
$this->assertSame(FinancialStatus::INVOICE_UNPAID, $calculation['status']);
}
public function testCarryForwardInvoiceIsPaidAfterFullPayment(): void
{
$service = new InvoiceLedgerServiceHarness([
'id' => 10,
'invoice_number' => 'CF-20252026-20262027-P8-I4',
'total_amount' => '90.00',
'semester' => 'Opening Balance',
'description' => 'Balance carried over from previous school year 2025-2026.',
], 90.0);
$calculation = $service->calculateInvoice(10);
$this->assertSame('90.00', $calculation['total_amount']);
$this->assertSame('0.00', $calculation['balance']);
$this->assertSame(FinancialStatus::INVOICE_PAID, $calculation['status']);
}
}