From abbcedf2e7ea2681838468d9d0de33e0cc21b04e Mon Sep 17 00:00:00 2001 From: myrmidex Date: Sun, 26 Apr 2026 16:35:46 +0200 Subject: [PATCH] 12 - Add Rejected case to CrawlOutcomeEnum and PageStatusEnum --- app/Enums/CrawlOutcomeEnum.php | 1 + app/Enums/PageStatusEnum.php | 1 + tests/Unit/Enums/CrawlOutcomeEnumTest.php | 5 ++-- tests/Unit/Enums/PageStatusEnumTest.php | 33 +++++++++++++++++++++++ 4 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 tests/Unit/Enums/PageStatusEnumTest.php diff --git a/app/Enums/CrawlOutcomeEnum.php b/app/Enums/CrawlOutcomeEnum.php index e7f16dd..c4e912e 100644 --- a/app/Enums/CrawlOutcomeEnum.php +++ b/app/Enums/CrawlOutcomeEnum.php @@ -12,4 +12,5 @@ enum CrawlOutcomeEnum: string case BlockedRobots = 'blocked_robots'; case Blocked4xx = 'blocked_4xx'; case Blocked5xx = 'blocked_5xx'; + case Rejected = 'rejected'; } diff --git a/app/Enums/PageStatusEnum.php b/app/Enums/PageStatusEnum.php index 4f73260..ed3abe0 100644 --- a/app/Enums/PageStatusEnum.php +++ b/app/Enums/PageStatusEnum.php @@ -9,4 +9,5 @@ enum PageStatusEnum: string case Discovered = 'discovered'; case Fetched = 'fetched'; case Failed = 'failed'; + case Rejected = 'rejected'; } diff --git a/tests/Unit/Enums/CrawlOutcomeEnumTest.php b/tests/Unit/Enums/CrawlOutcomeEnumTest.php index 3672512..56261cb 100644 --- a/tests/Unit/Enums/CrawlOutcomeEnumTest.php +++ b/tests/Unit/Enums/CrawlOutcomeEnumTest.php @@ -18,6 +18,7 @@ public function test_all_expected_cases_exist_with_correct_backing_values(): voi 'BlockedRobots' => 'blocked_robots', 'Blocked4xx' => 'blocked_4xx', 'Blocked5xx' => 'blocked_5xx', + 'Rejected' => 'rejected', ]; foreach ($expected as $caseName => $backingValue) { @@ -28,8 +29,8 @@ public function test_all_expected_cases_exist_with_correct_backing_values(): voi } } - public function test_enum_has_exactly_six_cases(): void + public function test_enum_has_exactly_seven_cases(): void { - $this->assertCount(6, CrawlOutcomeEnum::cases()); + $this->assertCount(7, CrawlOutcomeEnum::cases()); } } diff --git a/tests/Unit/Enums/PageStatusEnumTest.php b/tests/Unit/Enums/PageStatusEnumTest.php new file mode 100644 index 0000000..63d240d --- /dev/null +++ b/tests/Unit/Enums/PageStatusEnumTest.php @@ -0,0 +1,33 @@ + '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()); + } +}