create(); $crawl = PageCrawl::factory()->page($page)->successful()->create(); $this->assertSame(CrawlOutcomeEnum::Success, $crawl->outcome); $this->assertInstanceOf(Carbon::class, $crawl->completed_at); $this->assertNull($crawl->error_message); } public function test_factory_failed_state_produces_failed_outcome_with_message(): void { $page = Page::factory()->create(); $crawl = PageCrawl::factory()->page($page)->failed('Connection timed out')->create(); $this->assertSame(CrawlOutcomeEnum::Failed, $crawl->outcome); $this->assertInstanceOf(Carbon::class, $crawl->completed_at); $this->assertSame('Connection timed out', $crawl->error_message); } }