33 lines
936 B
PHP
33 lines
936 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Tests\Unit\Enums;
|
|
|
|
use App\Enums\PageStatusEnum;
|
|
use Tests\TestCase;
|
|
|
|
class PageStatusEnumTest extends TestCase
|
|
{
|
|
public function test_all_expected_cases_exist_with_correct_backing_values(): void
|
|
{
|
|
$expected = [
|
|
'Discovered' => 'discovered',
|
|
'Fetched' => 'fetched',
|
|
'Failed' => 'failed',
|
|
'Rejected' => 'rejected',
|
|
];
|
|
|
|
foreach ($expected as $caseName => $backingValue) {
|
|
$case = PageStatusEnum::from($backingValue);
|
|
|
|
$this->assertSame($caseName, $case->name, "Case name for '{$backingValue}' should be '{$caseName}'");
|
|
$this->assertSame($backingValue, $case->value, "Backing value for '{$caseName}' should be '{$backingValue}'");
|
|
}
|
|
}
|
|
|
|
public function test_enum_has_exactly_four_cases(): void
|
|
{
|
|
$this->assertCount(4, PageStatusEnum::cases());
|
|
}
|
|
}
|