@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\App\Support\SchoolYear;
|
||||
|
||||
use App\Support\SchoolYear\SchoolYearTableRegistry;
|
||||
use CodeIgniter\Test\CIUnitTestCase;
|
||||
use InvalidArgumentException;
|
||||
|
||||
final class SchoolYearTableRegistryTest extends CIUnitTestCase
|
||||
{
|
||||
public function testClassifiesYearScopedTables(): void
|
||||
{
|
||||
$this->assertSame('YEAR_SCOPED', SchoolYearTableRegistry::categoryOf('invoices'));
|
||||
$this->assertSame('YEAR_SCOPED', SchoolYearTableRegistry::categoryOf('attendance_data'));
|
||||
}
|
||||
|
||||
public function testClassifiesGlobalTables(): void
|
||||
{
|
||||
$this->assertSame('GLOBAL', SchoolYearTableRegistry::categoryOf('users'));
|
||||
$this->assertSame('GLOBAL', SchoolYearTableRegistry::categoryOf('configuration'));
|
||||
}
|
||||
|
||||
public function testClassifiesIdentityTables(): void
|
||||
{
|
||||
$this->assertSame('IDENTITY_WITH_YEAR_RELATION', SchoolYearTableRegistry::categoryOf('students'));
|
||||
$this->assertSame('IDENTITY_WITH_YEAR_RELATION', SchoolYearTableRegistry::categoryOf('teachers'));
|
||||
}
|
||||
|
||||
public function testClassifiesContextTables(): void
|
||||
{
|
||||
$this->assertSame('CONTEXT', SchoolYearTableRegistry::categoryOf('notifications'));
|
||||
$this->assertSame('CONTEXT', SchoolYearTableRegistry::categoryOf('support_requests'));
|
||||
}
|
||||
|
||||
public function testRejectsUnregisteredTables(): void
|
||||
{
|
||||
$this->expectException(InvalidArgumentException::class);
|
||||
|
||||
SchoolYearTableRegistry::categoryOf('unknown_table');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user