ADD SCHOOL YEAR MANAGEMENT
Tests / PHPUnit (push) Failing after 40s

This commit is contained in:
root
2026-07-12 02:21:39 -04:00
parent c7f67da9bf
commit e06ccc9cc0
36 changed files with 6722 additions and 327 deletions
@@ -0,0 +1,51 @@
<?php
namespace Tests\App\Services;
use App\Services\SchoolYearWriteGuard;
use App\Support\SchoolYear\SchoolYearContext;
use CodeIgniter\Test\CIUnitTestCase;
use RuntimeException;
final class SchoolYearWriteGuardTest extends CIUnitTestCase
{
public function testAllowsActiveYearWrites(): void
{
$guard = new SchoolYearWriteGuard();
$guard->assertWritable(new SchoolYearContext(4, '2025-2026', 'active'));
$this->assertTrue(true);
}
public function testAllowsDraftOnlyWhenExplicitlyAllowedForAdmin(): void
{
$guard = new SchoolYearWriteGuard();
$guard->assertWritable(
new SchoolYearContext(5, '2026-2027', 'draft'),
allowDraftForAdmin: true,
isAdmin: true
);
$this->assertTrue(true);
}
public function testRejectsClosedYearWrites(): void
{
$this->expectException(RuntimeException::class);
(new SchoolYearWriteGuard())->assertWritable(
new SchoolYearContext(3, '2024-2025', 'closed')
);
}
public function testRejectsDraftYearWritesByDefault(): void
{
$this->expectException(RuntimeException::class);
(new SchoolYearWriteGuard())->assertWritable(
new SchoolYearContext(5, '2026-2027', 'draft')
);
}
}