[FA-6] Need to test Novelpia import
This commit is contained in:
@@ -42,6 +42,13 @@ public class NovelUpdateServiceTests
|
||||
Images = new List<Image>()
|
||||
};
|
||||
|
||||
var volume = new Volume
|
||||
{
|
||||
Order = 1,
|
||||
Name = LocalizationKey.CreateFromText("Main Story", Language.En),
|
||||
Chapters = new List<Chapter> { chapter }
|
||||
};
|
||||
|
||||
var novel = new Novel
|
||||
{
|
||||
Url = "http://demo/novel",
|
||||
@@ -52,14 +59,14 @@ public class NovelUpdateServiceTests
|
||||
Source = source,
|
||||
Name = LocalizationKey.CreateFromText("Demo Novel", Language.En),
|
||||
Description = LocalizationKey.CreateFromText("Description", Language.En),
|
||||
Chapters = new List<Chapter> { chapter },
|
||||
Volumes = new List<Volume> { volume },
|
||||
Tags = new List<NovelTag>()
|
||||
};
|
||||
|
||||
dbContext.Novels.Add(novel);
|
||||
dbContext.SaveChanges();
|
||||
|
||||
return new NovelCreateResult(novel, chapter);
|
||||
return new NovelCreateResult(novel, volume, chapter);
|
||||
}
|
||||
|
||||
private static NovelUpdateService CreateService(
|
||||
@@ -81,7 +88,7 @@ public class NovelUpdateServiceTests
|
||||
{
|
||||
using var dbContext = CreateDbContext();
|
||||
var source = new Source { Name = "Demo", Key = "demo", Url = "http://demo" };
|
||||
var (novel, chapter) = CreateNovelWithSingleChapter(dbContext, source);
|
||||
var (novel, volume, chapter) = CreateNovelWithSingleChapter(dbContext, source);
|
||||
|
||||
var rawHtml = "<p>Hello</p><img src=\"http://img/x1.jpg\" alt=\"first\" /><img src=\"http://img/x2.jpg\" alt=\"second\" />";
|
||||
var image1 = new ImageData { Url = "http://img/x1.jpg", Data = new byte[] { 1, 2, 3 } };
|
||||
@@ -103,7 +110,7 @@ public class NovelUpdateServiceTests
|
||||
var pendingImageUrl = "https://pending/placeholder.jpg";
|
||||
var service = CreateService(dbContext, adapter, eventBus, pendingImageUrl);
|
||||
|
||||
var updatedChapter = await service.PullChapterContents(novel.Id, chapter.Order);
|
||||
var updatedChapter = await service.PullChapterContents(novel.Id, volume.Id, chapter.Order);
|
||||
|
||||
updatedChapter.Images.Should().HaveCount(2);
|
||||
updatedChapter.Images.Select(i => i.OriginalPath).Should().BeEquivalentTo(new[] { image1.Url, image2.Url });
|
||||
@@ -131,7 +138,7 @@ public class NovelUpdateServiceTests
|
||||
{
|
||||
using var dbContext = CreateDbContext();
|
||||
var source = new Source { Name = "Demo", Key = "demo", Url = "http://demo" };
|
||||
var (novel, chapter) = CreateNovelWithSingleChapter(dbContext, source);
|
||||
var (novel, volume, chapter) = CreateNovelWithSingleChapter(dbContext, source);
|
||||
|
||||
var rawHtml = "<p>Hi</p><img src=\"http://img/x1.jpg\">";
|
||||
var image = new ImageData { Url = "http://img/x1.jpg", Data = new byte[] { 7, 8, 9 } };
|
||||
@@ -150,7 +157,7 @@ public class NovelUpdateServiceTests
|
||||
|
||||
var service = CreateService(dbContext, adapter, eventBus);
|
||||
|
||||
var updatedChapter = await service.PullChapterContents(novel.Id, chapter.Order);
|
||||
var updatedChapter = await service.PullChapterContents(novel.Id, volume.Id, chapter.Order);
|
||||
|
||||
var storedHtml = updatedChapter.Body.Texts.Single().Text;
|
||||
var doc = new HtmlDocument();
|
||||
@@ -161,7 +168,7 @@ public class NovelUpdateServiceTests
|
||||
imgNode.GetAttributeValue("src", string.Empty).Should().Be("https://pending/placeholder.jpg");
|
||||
}
|
||||
|
||||
private record NovelCreateResult(Novel Novel, Chapter Chapter);
|
||||
private record NovelCreateResult(Novel Novel, Volume Volume, Chapter Chapter);
|
||||
|
||||
#region UpdateImage Tests
|
||||
|
||||
@@ -199,7 +206,7 @@ public class NovelUpdateServiceTests
|
||||
// Arrange
|
||||
using var dbContext = CreateDbContext();
|
||||
var source = new Source { Name = "Demo", Key = "demo", Url = "http://demo" };
|
||||
var (novel, chapter) = CreateNovelWithSingleChapter(dbContext, source);
|
||||
var (novel, _, chapter) = CreateNovelWithSingleChapter(dbContext, source);
|
||||
|
||||
var image = new Image
|
||||
{
|
||||
@@ -252,7 +259,7 @@ public class NovelUpdateServiceTests
|
||||
// Arrange
|
||||
using var dbContext = CreateDbContext();
|
||||
var source = new Source { Name = "Demo", Key = "demo", Url = "http://demo" };
|
||||
var (novel, chapter) = CreateNovelWithSingleChapter(dbContext, source);
|
||||
var (_, _, chapter) = CreateNovelWithSingleChapter(dbContext, source);
|
||||
|
||||
var image1 = new Image { OriginalPath = "http://original/img1.jpg", Chapter = chapter };
|
||||
var image2 = new Image { OriginalPath = "http://original/img2.jpg", Chapter = chapter };
|
||||
|
||||
Reference in New Issue
Block a user