Files
Mangarr/tests/Domain/Scraping/Adapter/InMemoryChapterRepository.php
ext.jeremy.guillot@maxicoffee.domains 55945adc53 feat: Reader beginning
2025-02-16 16:15:42 +01:00

32 lines
843 B
PHP

<?php
namespace App\Tests\Domain\Scraping\Adapter;
use App\Domain\Scraping\Domain\Contract\Repository\ChapterRepositoryInterface;
use App\Domain\Scraping\Domain\Model\Chapter;
class InMemoryChapterRepository implements ChapterRepositoryInterface
{
private array $chapters = [];
public function getByMangaIdAndChapterNumber(string $mangaId, int $chapterNumber): Chapter
{
foreach ($this->chapters as $chapter) {
if ($chapter->mangaId === $mangaId && $chapter->chapterNumber === $chapterNumber) {
return $chapter;
}
}
throw new \RuntimeException('Chapter not found');
}
public function save(Chapter $chapter): void
{
$this->chapters[$chapter->id] = $chapter;
}
public function clear(): void
{
$this->chapters = [];
}
}