Files
manga-reader/MangaReader.Tests/Pipeline/MangaPipelineTests.cs

53 lines
1.5 KiB
C#

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<TestDbContextFactory>
{
[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);
}
}