using MangaReader.Core.Data; using MangaReader.Core.Metadata; using MangaReader.Core.Pipeline; using MangaReader.Tests.Utilities; namespace MangaReader.Tests.Pipeline; public class MangaPipelineTests(TestDbContextFactory factory) : IClassFixture { [Fact] public async Task RunAsync_SavesMangaTitlesChaptersGenres() { using MangaContext context = factory.CreateContext(); var pipeline = new MangaPipeline(context); var sourceManga = new SourceManga { Title = "Fullmetal Alchemist", AlternateTitles = [ new() { Title = "Hagane no Renkinjutsushi", Language = SourceMangaLanguage.Romanji } ], Genres = ["Action", "Adventure"], Chapters = [ new() { Number = 1, Title = "The Two Alchemists", Volume = 1, Url = string.Empty } ] }; MangaPipelineRequest request = new() { SourceName = "MySource", SourceManga = sourceManga }; await pipeline.RunAsync(request); Assert.Single(context.Mangas); Assert.Single(context.MangaTitles); Assert.Equal(2, context.Genres.Count()); Assert.Single(context.MangaChapters); } }