diff --git a/app/Jobs/ProcessCrawlJob.php b/app/Jobs/ProcessCrawlJob.php new file mode 100644 index 0000000..5c55b67 --- /dev/null +++ b/app/Jobs/ProcessCrawlJob.php @@ -0,0 +1,21 @@ + */ diff --git a/app/Observers/PageCrawlObserver.php b/app/Observers/PageCrawlObserver.php new file mode 100644 index 0000000..85a8517 --- /dev/null +++ b/app/Observers/PageCrawlObserver.php @@ -0,0 +1,14 @@ +createQuietly(['url' => 'https://example.com/article']); + PageCrawl::factory()->page($page)->create(); + + Queue::assertPushed(ProcessCrawlJob::class); + } + + public function test_dispatched_job_carries_the_correct_page_crawl(): void + { + Queue::fake(); + + $page = Page::factory()->createQuietly(['url' => 'https://example.com/article']); + $crawl = PageCrawl::factory()->page($page)->create(); + + Queue::assertPushed( + ProcessCrawlJob::class, + fn (ProcessCrawlJob $job) => $job->pageCrawl->id === $crawl->id, + ); + } +}