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()); + } +}