'success', 'Failed' => 'failed', 'Timeout' => 'timeout', 'BlockedRobots' => 'blocked_robots', 'Blocked4xx' => 'blocked_4xx', 'Blocked5xx' => 'blocked_5xx', ]; foreach ($expected as $caseName => $backingValue) { $case = CrawlOutcomeEnum::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_six_cases(): void { $this->assertCount(6, CrawlOutcomeEnum::cases()); } }