Files
Mangarr/tests/Domain/Scraping/Adapter/InMemoryScrapingJobRepository.php
ext.jeremy.guillot@maxicoffee.domains 073439163b feat: finalizing Scraping endpoint
2025-02-10 17:28:49 +01:00

44 lines
967 B
PHP

<?php
namespace App\Tests\Domain\Scraping\Adapter;
use App\Domain\Scraping\Domain\Contract\Repository\ScrapingJobRepositoryInterface;
use App\Domain\Scraping\Domain\Model\ScrapingJob;
class InMemoryScrapingJobRepository implements ScrapingJobRepositoryInterface
{
/** @var ScrapingJob[] */
private static array $jobs = [];
public function save(ScrapingJob $job): void
{
self::$jobs[$job->getId()] = $job;
}
public function getJobs(): array
{
return array_values(self::$jobs);
}
public function findById(string $id): ?ScrapingJob
{
return self::$jobs[$id] ?? null;
}
public function findByChapterId(string $chapterId): ?ScrapingJob
{
foreach (self::$jobs as $job) {
if ($job->getChapterId() === $chapterId) {
return $job;
}
}
return null;
}
public function clear(): void
{
self::$jobs = [];
}
}