getSchoolYearRange('2025-2026'); $this->assertSame('2025-09-01', $start); $this->assertSame('2026-06-30', $end); } public function test_get_semester_for_date_uses_config_dates(): void { DB::table('configuration')->insert([ ['id' => 1, 'config_key' => 'fall_semester_start', 'config_value' => '2025-09-01'], ['id' => 2, 'config_key' => 'spring_semester_start', 'config_value' => '2026-01-20'], ['id' => 3, 'config_key' => 'last_school_day', 'config_value' => '2026-06-01'], ]); $service = new SemesterRangeService(new SemesterConfigService()); $semester = $service->getSemesterForDate('2025-10-01'); $this->assertSame('Fall', $semester); } public function test_normalize_semester(): void { $service = new SemesterRangeService(new SemesterConfigService()); $this->assertSame('Fall', $service->normalizeSemester('fall')); $this->assertSame('Spring', $service->normalizeSemester('SPRING')); $this->assertSame('', $service->normalizeSemester('winter')); } }