37 lines
1.4 KiB
PHP
37 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace Tests\App\Support\Enrollment;
|
|
|
|
use App\Support\Enrollment\DeliberationDecision;
|
|
use CodeIgniter\Test\CIUnitTestCase;
|
|
|
|
final class DeliberationDecisionTest extends CIUnitTestCase
|
|
{
|
|
public function testHistoricalDecisionValuesMapToCanonicalValues(): void
|
|
{
|
|
$cases = [
|
|
'Pass' => DeliberationDecision::PASSED,
|
|
'Passed' => DeliberationDecision::PASSED,
|
|
'Repeat Class' => DeliberationDecision::REPEAT_CLASS,
|
|
'Make-up exam in fall' => DeliberationDecision::MAKE_UP_EXAM,
|
|
'Expel' => DeliberationDecision::EXPELLED,
|
|
'Expelled' => DeliberationDecision::EXPELLED,
|
|
'Withdrawn' => DeliberationDecision::WITHDRAWN,
|
|
'Withdraw' => DeliberationDecision::WITHDRAWN,
|
|
'Widthrwan' => DeliberationDecision::WITHDRAWN,
|
|
'Deferred' => DeliberationDecision::DEFERRED_DECISION,
|
|
'Deferred decision' => DeliberationDecision::DEFERRED_DECISION,
|
|
];
|
|
|
|
foreach ($cases as $input => $expected) {
|
|
$this->assertSame($expected, DeliberationDecision::normalize($input), $input);
|
|
}
|
|
}
|
|
|
|
public function testBlankAndUnknownDecisionsRemainUnmapped(): void
|
|
{
|
|
$this->assertNull(DeliberationDecision::normalize(''));
|
|
$this->assertNull(DeliberationDecision::normalize('Teacher review needed'));
|
|
}
|
|
}
|