feat: refactorisation de la gestion du scraping des chapitres en remplaçant les identifiants de manga et de chapitre par un identifiant de chapitre unique, amélioration de la récupération des sources préférées et ajout de la gestion des erreurs pour les échecs de scraping.

This commit is contained in:
ext.jeremy.guillot@maxicoffee.domains
2025-04-03 16:34:30 +02:00
parent e29433bb0c
commit c9f1771522
15 changed files with 270 additions and 104 deletions

View File

@@ -23,9 +23,7 @@ class ScrapeChapterTest extends AbstractApiTestCase
{
// Given
$payload = [
'chapterNumber' => 'chapter-123',
'sourceId' => 'source-456',
'mangaId' => 'manga-789',
'chapterId' => 'chapter-123',
];
// When
@@ -43,15 +41,14 @@ class ScrapeChapterTest extends AbstractApiTestCase
/** @var ScrapeChapter $message */
$message = $messages[0];
$this->assertInstanceOf(ScrapeChapter::class, $message);
$this->assertEquals('chapter-123', $message->chapterId);
}
public function testInitiateChapterScrapingWithInvalidPayload(): void
{
// Given
$payload = [
'chapterNumber' => '',
'sourceId' => 'source-456',
'mangaId' => 'manga-789',
'chapterId' => '',
];
// When
@@ -65,7 +62,7 @@ class ScrapeChapterTest extends AbstractApiTestCase
$this->assertJsonContains([
'violations' => [
[
'propertyPath' => 'chapterNumber',
'propertyPath' => 'chapterId',
'message' => 'This value should not be blank.',
],
],