7 - Add CrawlOutcomeEnum for crawl attempt outcomes
This commit is contained in:
parent
b1b7adeacd
commit
9dd6d84d65
2 changed files with 50 additions and 0 deletions
15
app/Enums/CrawlOutcomeEnum.php
Normal file
15
app/Enums/CrawlOutcomeEnum.php
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Enums;
|
||||||
|
|
||||||
|
enum CrawlOutcomeEnum: string
|
||||||
|
{
|
||||||
|
case Success = 'success';
|
||||||
|
case Failed = 'failed';
|
||||||
|
case Timeout = 'timeout';
|
||||||
|
case BlockedRobots = 'blocked_robots';
|
||||||
|
case Blocked4xx = 'blocked_4xx';
|
||||||
|
case Blocked5xx = 'blocked_5xx';
|
||||||
|
}
|
||||||
35
tests/Unit/Enums/CrawlOutcomeEnumTest.php
Normal file
35
tests/Unit/Enums/CrawlOutcomeEnumTest.php
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Tests\Unit\Enums;
|
||||||
|
|
||||||
|
use App\Enums\CrawlOutcomeEnum;
|
||||||
|
use Tests\TestCase;
|
||||||
|
|
||||||
|
class CrawlOutcomeEnumTest extends TestCase
|
||||||
|
{
|
||||||
|
public function test_all_expected_cases_exist_with_correct_backing_values(): void
|
||||||
|
{
|
||||||
|
$expected = [
|
||||||
|
'Success' => '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());
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue