shouldThrowException) { throw $this->shouldThrowException; } $job = new ScrapingJob(Uuid::uuid4(), $mangaId, $chapterId, $sourceId); $this->jobs[] = $job; return $job; } public function scrape(ScrapingJob $job): void { if ($this->shouldThrowException) { throw $this->shouldThrowException; } } public function simulateError(\Exception $exception): void { $this->shouldThrowException = $exception; } public function getJobs(): array { return $this->jobs; } public function supports(string $sourceType): bool { return true; } }