Files
Mangarr/tests/Domain/Scraping/Adapter/InMemoryScrapingJobRepository.php
ext.jeremy.guillot@maxicoffee.domains 6bc3696190 feat: firsts endpoints and firsts tests
2025-02-05 16:54:13 +01:00

49 lines
1.0 KiB
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;
}
public function getJobs(): array
{
return self::$jobs;
}
public function findById(string $id): ?ScrapingJob
{
foreach (self::$jobs as $job) {
if ($job->getId() === $id) {
return $job;
}
}
return 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 = [];
}
}