fix enrollment logic, add financial aid, fix class distribution
Tests / PHPUnit (push) Failing after 1m6s
Tests / PHPUnit (push) Failing after 1m6s
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\App\Services;
|
||||
|
||||
use App\Services\SchoolYearManagementService;
|
||||
use CodeIgniter\Test\CIUnitTestCase;
|
||||
use ReflectionClass;
|
||||
|
||||
final class SchoolYearManagementServiceCalendarTest extends CIUnitTestCase
|
||||
{
|
||||
public function testCalendarDefaultsForNextSchoolYear(): void
|
||||
{
|
||||
$calendar = $this->calendarPayload('2026-2027');
|
||||
|
||||
$this->assertSame('2026-08-01', $calendar['starts_on']);
|
||||
$this->assertSame('2027-07-31', $calendar['ends_on']);
|
||||
$this->assertSame('2026-08-01', $calendar['registration_starts_on']);
|
||||
$this->assertSame('2026-10-05', $calendar['registration_ends_on']);
|
||||
$this->assertSame('2026-09-20', $calendar['first_day_of_school']);
|
||||
$this->assertSame('2026-09-20', $calendar['1st_day_of_school']);
|
||||
$this->assertSame('2026-09-13', $calendar['fall_makeup_exam_on']);
|
||||
$this->assertSame('2026-09-06', $calendar['orientation_day']);
|
||||
$this->assertSame('2027-05-23', $calendar['final_exam_day']);
|
||||
$this->assertSame('2027-06-06', $calendar['last_day_of_school']);
|
||||
$this->assertSame('2027-06-06', $calendar['last_school_day']);
|
||||
$this->assertSame('2027-01-17', $calendar['midterm_exam_day']);
|
||||
$this->assertSame('2027-01-24', $calendar['spring_semester_start']);
|
||||
$this->assertSame('2027-03-01', $calendar['installment_date']);
|
||||
}
|
||||
|
||||
public function testNextToLastSeptemberSundayWhenMonthEndsOnSunday(): void
|
||||
{
|
||||
$calendar = $this->calendarPayload('2029-2030');
|
||||
|
||||
$this->assertSame('2029-09-23', $calendar['first_day_of_school']);
|
||||
}
|
||||
|
||||
private function calendarPayload(string $schoolYear): array
|
||||
{
|
||||
$service = (new ReflectionClass(SchoolYearManagementService::class))->newInstanceWithoutConstructor();
|
||||
$method = (new ReflectionClass(SchoolYearManagementService::class))->getMethod('calendarPayloadForSchoolYear');
|
||||
$method->setAccessible(true);
|
||||
|
||||
return $method->invoke($service, $schoolYear);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user