* Updated number inputs with a more mobile friendly control

* Started writing lots of unit tests on PersonHelper to try and hammer out foreign constraint

* Fixes side-nav actionable alignment

* Added some unit tests

* Buffed out the unit tests

* Applied input modes throughout the app

* Fixed a small bug in refresh token validation to make it work correctly

* Try out a new way to block multithreading from interacting with people during series metadata update.

* Fixed the lock code to properly lock, which should help with any constraint issues.

* Locking notes

* Tweaked locking on people to prevent a constraint issue. This slows down the scanner a bit, but not much. Will tweak after validating on a user's server.

* Replaced all DBFactory.Series with SeriesBuilder.

* Replaced all DBFactory.Volume() with VolumeBuilder

* Replaced SeriesMetadata with Builder

* Replaced DBFactory.CollectionTag

* Lots of refactoring to streamline entity creation

* Fixed one of the unit tests

* Refactored all of new Library()

* Removed tag and genre

* Removed new SeriesMetadata

* Refactored new Volume()

* MangaFile()

* ReadingList()

* Refactored all of Chapter and ReadingList

* Add title to all event widget flows

* Updated Base Url to inform user it doesn't work for docker users with non-root user.

* Added unit test coverage to FormatChapterTitle and FormatChapterName.

* Started on Unit test for scanner, but need to finish it later.

---------

Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
This commit is contained in:
Joe Milazzo 2023-03-19 12:52:44 -05:00 committed by GitHub
parent eec03d7e96
commit 385f61f9f0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
105 changed files with 2257 additions and 2660 deletions

View file

@ -6,6 +6,7 @@ using System.Threading.Tasks;
using API.Data;
using API.Entities;
using API.Entities.Enums;
using API.Helpers.Builders;
using API.Services;
using API.Services.Tasks;
using API.SignalR;
@ -80,18 +81,9 @@ public class BackupServiceTests
setting.Value = BackupDirectory;
_context.ServerSetting.Update(setting);
_context.Library.Add(new Library()
{
Name = "Manga",
Folders = new List<FolderPath>()
{
new FolderPath()
{
Path = "C:/data/"
}
}
});
_context.Library.Add(new LibraryBuilder("Manga")
.WithFolderPath(new FolderPathBuilder("C:/data/").Build())
.Build());
return await _context.SaveChangesAsync() > 0;
}

View file

@ -87,17 +87,9 @@ public class BookmarkServiceTests
_context.ServerSetting.Update(setting);
_context.Library.Add(new Library()
{
Name = "Manga",
Folders = new List<FolderPath>()
{
new FolderPath()
{
Path = "C:/data/"
}
}
});
_context.Library.Add(new LibraryBuilder("Manga")
.WithFolderPath(new FolderPathBuilder("C:/data/").Build())
.Build());
return await _context.SaveChangesAsync() > 0;
}
@ -140,18 +132,12 @@ public class BookmarkServiceTests
var series = new SeriesBuilder("Test")
.WithFormat(MangaFormat.Epub)
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1")
.Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb").Build();
_context.Series.Add(series);
@ -193,18 +179,13 @@ public class BookmarkServiceTests
var series = new SeriesBuilder("Test")
.WithFormat(MangaFormat.Epub)
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("0")
.Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb").Build();
_context.Series.Add(series);
@ -264,18 +245,13 @@ public class BookmarkServiceTests
var series = new SeriesBuilder("Test")
.WithFormat(MangaFormat.Epub)
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1")
.Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb").Build();
_context.Series.Add(series);
@ -345,18 +321,13 @@ public class BookmarkServiceTests
var series = new SeriesBuilder("Test")
.WithFormat(MangaFormat.Epub)
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1")
.Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb").Build();
_context.Series.Add(series);
@ -403,18 +374,13 @@ public class BookmarkServiceTests
var series = new SeriesBuilder("Test")
.WithFormat(MangaFormat.Epub)
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1")
.Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb").Build();
_context.Series.Add(series);
@ -461,18 +427,13 @@ public class BookmarkServiceTests
await ResetDB();
var series = new SeriesBuilder("Test")
.WithFormat(MangaFormat.Epub)
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1")
.Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb").Build();
_context.Series.Add(series);

View file

@ -8,8 +8,9 @@ using API.Data;
using API.Data.Metadata;
using API.Entities;
using API.Entities.Enums;
using API.Parser;
using API.Helpers.Builders;
using API.Services;
using API.Services.Tasks.Scanner.Parser;
using API.SignalR;
using AutoMapper;
using Microsoft.AspNetCore.SignalR;
@ -116,17 +117,9 @@ public class CacheServiceTests
_context.ServerSetting.Update(setting);
_context.Library.Add(new Library()
{
Name = "Manga",
Folders = new List<FolderPath>()
{
new FolderPath()
{
Path = "C:/data/"
}
}
});
_context.Library.Add(new LibraryBuilder("Manga")
.WithFolderPath(new FolderPathBuilder("C:/data/").Build())
.Build());
return await _context.SaveChangesAsync() > 0;
}
@ -166,21 +159,11 @@ public class CacheServiceTests
Substitute.For<IBookService>(), Substitute.For<IImageService>(), ds), Substitute.For<IBookmarkService>());
await ResetDB();
var s = DbFactory.Series("Test");
var v = DbFactory.Volume("1");
var c = new Chapter()
{
Number = "1",
Range = "1",
Files = new List<MangaFile>()
{
new MangaFile()
{
Format = MangaFormat.Archive,
FilePath = $"{DataDirectory}Test v1.zip",
}
}
};
var s = new SeriesBuilder("Test").Build();
var v = new VolumeBuilder("1").Build();
var c = new ChapterBuilder("1")
.WithFile(new MangaFileBuilder($"{DataDirectory}Test v1.zip", MangaFormat.Archive).Build())
.Build();
v.Chapters.Add(c);
s.Volumes.Add(v);
s.LibraryId = 1;
@ -207,8 +190,8 @@ public class CacheServiceTests
// new ReadingItemService(archiveService, Substitute.For<IBookService>(), Substitute.For<IImageService>(), ds));
//
// await ResetDB();
// var s = DbFactory.Series("Test");
// var v = DbFactory.Volume("1");
// var s = new SeriesBuilder("Test").Build();
// var v = new VolumeBuilder("1").Build();
// var c = new Chapter()
// {
// Number = "1",
@ -271,22 +254,10 @@ public class CacheServiceTests
new ReadingItemService(Substitute.For<IArchiveService>(),
Substitute.For<IBookService>(), Substitute.For<IImageService>(), ds), Substitute.For<IBookmarkService>());
var c = new Chapter()
{
Number = "1",
Range = "1",
Files = new List<MangaFile>()
{
new MangaFile()
{
FilePath = $"{DataDirectory}1.epub"
},
new MangaFile()
{
FilePath = $"{DataDirectory}2.epub"
}
}
};
var c = new ChapterBuilder("1")
.WithFile(new MangaFileBuilder($"{DataDirectory}1.epub", MangaFormat.Epub).Build())
.WithFile(new MangaFileBuilder($"{DataDirectory}2.epub", MangaFormat.Epub).Build())
.Build();
cs.GetCachedFile(c);
Assert.Same($"{DataDirectory}1.epub", cs.GetCachedFile(c));
}
@ -303,13 +274,9 @@ public class CacheServiceTests
filesystem.AddFile($"{DataDirectory}1.zip", new MockFileData(""));
filesystem.AddFile($"{DataDirectory}2.zip", new MockFileData(""));
var c = new Chapter()
{
Id = 1,
Number = "1",
Range = "1",
Files = new List<MangaFile>()
};
var c = new ChapterBuilder("1")
.WithId(1)
.Build();
var fileIndex = 0;
foreach (var file in c.Files)
@ -342,28 +309,17 @@ public class CacheServiceTests
filesystem.AddFile($"{DataDirectory}1.zip", new MockFileData(""));
filesystem.AddFile($"{DataDirectory}2.zip", new MockFileData(""));
var c = new Chapter()
{
Id = 1,
Number = "1",
Range = "1",
Files = new List<MangaFile>()
{
new MangaFile()
{
Id = 1,
FilePath = $"{DataDirectory}1.zip",
Pages = 10
},
new MangaFile()
{
Id = 2,
FilePath = $"{DataDirectory}2.zip",
Pages = 5
}
}
};
var c = new ChapterBuilder("1")
.WithId(1)
.WithFile(new MangaFileBuilder($"{DataDirectory}1.zip", MangaFormat.Archive)
.WithPages(10)
.WithId(1)
.Build())
.WithFile(new MangaFileBuilder($"{DataDirectory}2.zip", MangaFormat.Archive)
.WithPages(5)
.WithId(2)
.Build())
.Build();
var fileIndex = 0;
foreach (var file in c.Files)
@ -396,22 +352,13 @@ public class CacheServiceTests
filesystem.AddDirectory($"{CacheDirectory}1/");
filesystem.AddFile($"{DataDirectory}1.zip", new MockFileData(""));
var c = new Chapter()
{
Id = 1,
Number = "1",
Range = "1",
Files = new List<MangaFile>()
{
new MangaFile()
{
Id = 1,
FilePath = $"{DataDirectory}1.zip",
Pages = 10
}
}
};
var c = new ChapterBuilder("1")
.WithId(1)
.WithFile(new MangaFileBuilder($"{DataDirectory}1.zip", MangaFormat.Archive)
.WithPages(10)
.WithId(1)
.Build())
.Build();
c.Pages = c.Files.Sum(f => f.Pages);
var fileIndex = 0;
@ -446,28 +393,17 @@ public class CacheServiceTests
filesystem.AddFile($"{DataDirectory}1.zip", new MockFileData(""));
filesystem.AddFile($"{DataDirectory}2.zip", new MockFileData(""));
var c = new Chapter()
{
Id = 1,
Number = "1",
Range = "1",
Files = new List<MangaFile>()
{
new MangaFile()
{
Id = 1,
FilePath = $"{DataDirectory}1.zip",
Pages = 10
},
new MangaFile()
{
Id = 2,
FilePath = $"{DataDirectory}2.zip",
Pages = 5
}
}
};
var c = new ChapterBuilder("1")
.WithId(1)
.WithFile(new MangaFileBuilder($"{DataDirectory}1.zip", MangaFormat.Archive)
.WithPages(10)
.WithId(1)
.Build())
.WithFile(new MangaFileBuilder($"{DataDirectory}2.zip", MangaFormat.Archive)
.WithPages(5)
.WithId(2)
.Build())
.Build();
var fileIndex = 0;
foreach (var file in c.Files)

View file

@ -31,17 +31,9 @@ public class CleanupServiceTests : AbstractDbTest
public CleanupServiceTests() : base()
{
_context.Library.Add(new Library()
{
Name = "Manga",
Folders = new List<FolderPath>()
{
new FolderPath()
{
Path = "C:/data/"
}
}
});
_context.Library.Add(new LibraryBuilder("Manga")
.WithFolderPath(new FolderPathBuilder("C:/data/").Build())
.Build());
}
#region Setup
@ -71,15 +63,15 @@ public class CleanupServiceTests : AbstractDbTest
// Delete all Series to reset state
await ResetDb();
var s = DbFactory.Series("Test 1");
var s = new SeriesBuilder("Test 1").Build();
s.CoverImage = $"{ImageService.GetSeriesFormat(1)}.jpg";
s.LibraryId = 1;
_context.Series.Add(s);
s = DbFactory.Series("Test 2");
s = new SeriesBuilder("Test 2").Build();
s.CoverImage = $"{ImageService.GetSeriesFormat(3)}.jpg";
s.LibraryId = 1;
_context.Series.Add(s);
s = DbFactory.Series("Test 3");
s = new SeriesBuilder("Test 3").Build();
s.CoverImage = $"{ImageService.GetSeriesFormat(1000)}.jpg";
s.LibraryId = 1;
_context.Series.Add(s);
@ -105,11 +97,11 @@ public class CleanupServiceTests : AbstractDbTest
await ResetDb();
// Add 2 series with cover images
var s = DbFactory.Series("Test 1");
var s = new SeriesBuilder("Test 1").Build();
s.CoverImage = $"{ImageService.GetSeriesFormat(1)}.jpg";
s.LibraryId = 1;
_context.Series.Add(s);
s = DbFactory.Series("Test 2");
s = new SeriesBuilder("Test 2").Build();
s.CoverImage = $"{ImageService.GetSeriesFormat(3)}.jpg";
s.LibraryId = 1;
_context.Series.Add(s);
@ -139,33 +131,23 @@ public class CleanupServiceTests : AbstractDbTest
await ResetDb();
// Add 2 series with cover images
var s = DbFactory.Series("Test 1");
var v = DbFactory.Volume("1");
v.Chapters.Add(new Chapter()
{
Number = "0",
Range = "0",
CoverImage = "v01_c01.jpg"
});
v.CoverImage = "v01_c01.jpg";
s.Volumes.Add(v);
s.CoverImage = "series_01.jpg";
s.LibraryId = 1;
_context.Series.Add(s);
_context.Series.Add(new SeriesBuilder("Test 1")
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("0").WithCoverImage("v01_c01.jpg").Build())
.WithCoverImage("v01_c01.jpg")
.Build())
.WithCoverImage("series_01.jpg")
.WithLibraryId(1)
.Build());
s = DbFactory.Series("Test 2");
v = DbFactory.Volume("1");
v.Chapters.Add(new Chapter()
{
Number = "0",
Range = "0",
CoverImage = "v01_c03.jpg"
});
v.CoverImage = "v01_c03jpg";
s.Volumes.Add(v);
s.CoverImage = "series_03.jpg";
s.LibraryId = 1;
_context.Series.Add(s);
_context.Series.Add(new SeriesBuilder("Test 2")
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("0").WithCoverImage("v01_c03.jpg").Build())
.WithCoverImage("v01_c03.jpg")
.Build())
.WithCoverImage("series_03.jpg")
.WithLibraryId(1)
.Build());
await _context.SaveChangesAsync();
@ -193,29 +175,26 @@ public class CleanupServiceTests : AbstractDbTest
await ResetDb();
// Add 2 series with cover images
var s = DbFactory.Series("Test 1");
s.Metadata.CollectionTags = new List<CollectionTag>();
s.Metadata.CollectionTags.Add(new CollectionTag()
{
Title = "Something",
NormalizedTitle = "Something".ToNormalized(),
CoverImage = $"{ImageService.GetCollectionTagFormat(1)}.jpg"
});
s.CoverImage = $"{ImageService.GetSeriesFormat(1)}.jpg";
s.LibraryId = 1;
_context.Series.Add(s);
s = DbFactory.Series("Test 2");
s.Metadata.CollectionTags = new List<CollectionTag>();
s.Metadata.CollectionTags.Add(new CollectionTag()
{
Title = "Something 2",
NormalizedTitle = "Something 2".ToNormalized(),
CoverImage = $"{ImageService.GetCollectionTagFormat(2)}.jpg"
});
s.CoverImage = $"{ImageService.GetSeriesFormat(3)}.jpg";
s.LibraryId = 1;
_context.Series.Add(s);
_context.Series.Add(new SeriesBuilder("Test 1")
.WithMetadata(new SeriesMetadataBuilder()
.WithCollectionTag(new CollectionTagBuilder("Something")
.WithCoverImage($"{ImageService.GetCollectionTagFormat(1)}.jpg")
.Build())
.Build())
.WithCoverImage($"{ImageService.GetSeriesFormat(1)}.jpg")
.WithLibraryId(1)
.Build());
_context.Series.Add(new SeriesBuilder("Test 2")
.WithMetadata(new SeriesMetadataBuilder()
.WithCollectionTag(new CollectionTagBuilder("Something")
.WithCoverImage($"{ImageService.GetCollectionTagFormat(2)}.jpg")
.Build())
.Build())
.WithCoverImage($"{ImageService.GetSeriesFormat(3)}.jpg")
.WithLibraryId(1)
.Build());
await _context.SaveChangesAsync();
@ -247,20 +226,14 @@ public class CleanupServiceTests : AbstractDbTest
UserName = "Joe",
ReadingLists = new List<ReadingList>()
{
new ReadingList()
{
Title = "Something",
NormalizedTitle = "Something".ToNormalized(),
CoverImage = $"{ImageService.GetReadingListFormat(1)}.jpg",
AgeRating = AgeRating.Unknown
},
new ReadingList()
{
Title = "Something 2",
NormalizedTitle = "Something 2".ToNormalized(),
CoverImage = $"{ImageService.GetReadingListFormat(2)}.jpg",
AgeRating = AgeRating.Unknown
}
new ReadingListBuilder("Something")
.WithRating(AgeRating.Unknown)
.WithCoverImage($"{ImageService.GetReadingListFormat(1)}.jpg")
.Build(),
new ReadingListBuilder("Something 2")
.WithRating(AgeRating.Unknown)
.WithCoverImage($"{ImageService.GetReadingListFormat(2)}.jpg")
.Build(),
}
});
@ -415,17 +388,12 @@ public class CleanupServiceTests : AbstractDbTest
.Build();
var series = new SeriesBuilder("Test")
.WithFormat(MangaFormat.Epub)
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithNumber(1)
.WithChapter(c)
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb").Build();
_context.Series.Add(series);
@ -474,11 +442,7 @@ public class CleanupServiceTests : AbstractDbTest
.WithFormat(MangaFormat.Epub)
.WithMetadata(new SeriesMetadataBuilder().WithCollectionTag(c).Build())
.Build();
s.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
s.Library = new LibraryBuilder("Test LIb").Build();
_context.Series.Add(s);
@ -515,11 +479,7 @@ public class CleanupServiceTests : AbstractDbTest
.WithMetadata(new SeriesMetadataBuilder().WithPublicationStatus(PublicationStatus.Completed).Build())
.Build();
s.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
s.Library = new LibraryBuilder("Test LIb").Build();
_context.Series.Add(s);
var user = new AppUser()

View file

@ -6,6 +6,7 @@ using API.Data.Repositories;
using API.DTOs.CollectionTags;
using API.Entities;
using API.Entities.Enums;
using API.Helpers.Builders;
using API.Services;
using API.SignalR;
using API.Tests.Helpers;
@ -33,19 +34,14 @@ public class CollectionTagServiceTests : AbstractDbTest
private async Task SeedSeries()
{
if (_context.CollectionTag.Any()) return;
_context.Library.Add(new Library()
{
Name = "Library 2",
Type = LibraryType.Manga,
Series = new List<Series>()
{
EntityFactory.CreateSeries("Series 1"),
EntityFactory.CreateSeries("Series 2"),
}
});
_context.CollectionTag.Add(DbFactory.CollectionTag(0, "Tag 1", string.Empty, false));
_context.CollectionTag.Add(DbFactory.CollectionTag(0, "Tag 2", string.Empty, true));
_context.Library.Add(new LibraryBuilder("Library 2", LibraryType.Manga)
.WithSeries(new SeriesBuilder("Series 1").Build())
.WithSeries(new SeriesBuilder("Series 2").Build())
.Build());
_context.CollectionTag.Add(new CollectionTagBuilder("Tag 1").Build());
_context.CollectionTag.Add(new CollectionTagBuilder("Tag 2").WithIsPromoted(true).Build());
await _unitOfWork.CommitAsync();
}
@ -63,8 +59,8 @@ public class CollectionTagServiceTests : AbstractDbTest
public async Task UpdateTag_ShouldUpdateFields()
{
await SeedSeries();
_context.CollectionTag.Add(EntityFactory.CreateCollectionTag(3, "UpdateTag_ShouldUpdateFields",
string.Empty, true));
_context.CollectionTag.Add(new CollectionTagBuilder("UpdateTag_ShouldUpdateFields").WithId(3).WithIsPromoted(true).Build());
await _unitOfWork.CommitAsync();
await _service.UpdateTag(new CollectionTagDto()

View file

@ -9,7 +9,7 @@ using API.Data.Metadata;
using API.Entities;
using API.Entities.Enums;
using API.Extensions;
using API.Parser;
using API.Helpers.Builders;
using API.Services;
using API.Services.Tasks.Scanner;
using API.Services.Tasks.Scanner.Parser;
@ -118,17 +118,9 @@ public class ParseScannedFilesTests
_context.ServerSetting.Update(setting);
_context.Library.Add(new Library()
{
Name = "Manga",
Folders = new List<FolderPath>()
{
new FolderPath()
{
Path = DataDirectory
}
}
});
_context.Library.Add(new LibraryBuilder("Manga")
.WithFolderPath(new FolderPathBuilder(DataDirectory).Build())
.Build());
return await _context.SaveChangesAsync() > 0;
}

View file

@ -0,0 +1,72 @@
using System.IO;
using API.Data;
using API.Data.Metadata;
using API.Entities;
using API.Entities.Enums;
using API.Helpers;
using API.Helpers.Builders;
using API.Services;
using API.Services.Tasks.Metadata;
using API.Services.Tasks.Scanner;
using API.SignalR;
using Microsoft.Extensions.Logging;
using NSubstitute;
using Xunit;
namespace API.Tests.Services;
public class ProcessSeriesTests
{
#region UpdateSeriesMetadata
#endregion
#region UpdateVolumes
#endregion
#region UpdateChapters
#endregion
#region AddOrUpdateFileForChapter
#endregion
#region UpdateChapterFromComicInfo
public void UpdateChapterFromComicInfo_()
{
// TODO: Do this
var file = Path.Join(Directory.GetCurrentDirectory(), "../../../Services/Test Data/ScannerService/Library/Manga/Hajime no Ippo/Hajime no Ippo Chapter 1.cbz");
// Chapter and ComicInfo
var chapter = new ChapterBuilder("1")
.WithId(0)
.WithFile(new MangaFileBuilder(file, MangaFormat.Archive).Build())
.Build();
var ps = new ProcessSeries(Substitute.For<IUnitOfWork>(), Substitute.For<ILogger<ProcessSeries>>(),
Substitute.For<IEventHub>(), Substitute.For<IDirectoryService>()
, Substitute.For<ICacheHelper>(), Substitute.For<IReadingItemService>(), Substitute.For<IFileService>(),
Substitute.For<IMetadataService>(),
Substitute.For<IWordCountAnalyzerService>(),
Substitute.For<ICollectionTagService>());
ps.UpdateChapterFromComicInfo(chapter, new ComicInfo()
{
});
}
#endregion
}

View file

@ -81,10 +81,9 @@ public class ReaderServiceTests
_context.ServerSetting.Update(setting);
_context.Library.Add(new Library()
{
Name = "Manga", Folders = new List<FolderPath>() {new FolderPath() {Path = "C:/data/"}}
});
_context.Library.Add(new LibraryBuilder("Manga")
.WithFolderPath(new FolderPathBuilder("C:/data/").Build())
.Build());
return await _context.SaveChangesAsync() > 0;
}
@ -130,7 +129,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithNumber(0)
.WithChapter(new ChapterBuilder("0")
@ -138,11 +136,8 @@ public class ReaderServiceTests
.Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -164,7 +159,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithNumber(0)
.WithChapter(new ChapterBuilder("0")
@ -172,11 +166,7 @@ public class ReaderServiceTests
.Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -208,7 +198,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithNumber(0)
.WithChapter(new ChapterBuilder("0")
@ -216,11 +205,7 @@ public class ReaderServiceTests
.Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -269,7 +254,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithNumber(0)
.WithChapter(new ChapterBuilder("0")
@ -280,11 +264,7 @@ public class ReaderServiceTests
.Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -313,7 +293,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithNumber(0)
.WithChapter(new ChapterBuilder("0")
@ -324,11 +303,7 @@ public class ReaderServiceTests
.Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -366,7 +341,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
@ -385,11 +359,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("32").Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -441,7 +411,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
@ -460,11 +429,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("32").Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -490,7 +455,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
@ -509,11 +473,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("32").Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -539,7 +499,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithNumber(0)
.WithChapter(new ChapterBuilder("1").Build())
@ -552,11 +511,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("22").Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -582,7 +537,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithNumber(0)
.WithChapter(new ChapterBuilder("66").Build())
@ -599,11 +553,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("0").Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -629,7 +579,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
@ -642,11 +591,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("B.cbz").WithIsSpecial(true).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -672,18 +617,13 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
.WithChapter(new ChapterBuilder("2").Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -707,7 +647,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithNumber(0)
.WithChapter(new ChapterBuilder("1").Build())
@ -720,11 +659,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("2").WithIsSpecial(true).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -749,7 +684,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
@ -762,11 +696,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("B.cbz").WithIsSpecial(true).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -793,7 +723,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithNumber(0)
.WithChapter(new ChapterBuilder("1").Build())
@ -801,11 +730,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("A.cbz").WithIsSpecial(true).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -831,7 +756,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithNumber(0)
.WithChapter(new ChapterBuilder("1").Build())
@ -843,11 +767,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("0").Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -872,7 +792,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
@ -884,11 +803,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("B.cbz").WithIsSpecial(true).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -919,7 +834,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
@ -938,11 +852,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("32").Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -967,7 +877,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
@ -986,11 +895,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("32").Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
_context.AppUser.Add(new AppUser()
{
@ -1012,7 +917,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("40").WithPages(1).Build())
.WithChapter(new ChapterBuilder("50").WithPages(1).Build())
@ -1032,11 +936,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("31").WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
_context.AppUser.Add(new AppUser()
{
@ -1061,7 +961,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.WithChapter(new ChapterBuilder("2").WithPages(1).Build())
@ -1077,11 +976,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("32").WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1106,7 +1001,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
@ -1119,11 +1013,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("B.cbz").WithIsSpecial(true).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1149,18 +1039,13 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
.WithChapter(new ChapterBuilder("2").Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1184,17 +1069,12 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("0").Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1218,7 +1098,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithNumber(0)
.WithChapter(new ChapterBuilder("1").Build())
@ -1230,11 +1109,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("0").Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1258,7 +1133,6 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithNumber(0)
.WithChapter(new ChapterBuilder("5").Build())
@ -1278,11 +1152,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("4").WithIsSpecial(true).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1311,18 +1181,13 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithNumber(0)
.WithChapter(new ChapterBuilder("1").Build())
.WithChapter(new ChapterBuilder("2").Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1346,24 +1211,18 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
.WithChapter(new ChapterBuilder("2").Build())
.Build())
.WithVolume(new VolumeBuilder("0")
.WithNumber(0)
.WithChapter(new ChapterBuilder("A.cbz").WithIsSpecial(true).Build())
.WithChapter(new ChapterBuilder("B.cbz").WithIsSpecial(true).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1390,13 +1249,11 @@ public class ReaderServiceTests
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithNumber(0)
.WithChapter(new ChapterBuilder("1").Build())
.WithChapter(new ChapterBuilder("2").Build())
.Build())
.WithVolume(new VolumeBuilder("1")
.WithNumber(1)
.WithChapter(new ChapterBuilder("21").Build())
@ -1404,11 +1261,7 @@ public class ReaderServiceTests
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1436,12 +1289,10 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("95").Build())
.WithChapter(new ChapterBuilder("96").Build())
.Build())
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("1").Build())
.WithChapter(new ChapterBuilder("2").Build())
@ -1456,11 +1307,7 @@ public class ReaderServiceTests
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1485,21 +1332,15 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("1").WithPages(3).Build())
.Build())
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
.WithPages(4)
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1530,7 +1371,6 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.WithChapter(new ChapterBuilder("2").WithPages(1).Build())
@ -1545,11 +1385,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("32").WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1600,7 +1436,6 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
// Loose chapters
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("45").WithPages(1).Build())
@ -1624,11 +1459,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("32").WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1673,12 +1504,10 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.WithChapter(new ChapterBuilder("2").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("21").WithPages(1).Build())
.Build())
@ -1687,11 +1516,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("32").WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1740,7 +1565,6 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("230").WithPages(1).Build())
.WithChapter(new ChapterBuilder("231").WithPages(1).Build())
@ -1754,11 +1578,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("21").WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1781,7 +1601,6 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("100").WithPages(1).Build())
.WithChapter(new ChapterBuilder("101").WithPages(1).Build())
@ -1796,11 +1615,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("21").WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1845,7 +1660,6 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.WithChapter(new ChapterBuilder("2").WithPages(1).Build())
@ -1855,11 +1669,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("21").WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1907,7 +1717,7 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.WithChapter(new ChapterBuilder("2").WithPages(1).Build())
@ -1919,11 +1729,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("22").WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -1951,7 +1757,7 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.WithChapter(new ChapterBuilder("2").WithPages(1).Build())
@ -1959,11 +1765,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("Some Special Title").WithIsSpecial(true).WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -2011,7 +1813,7 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("230").WithPages(1).Build())
//.WithChapter(new ChapterBuilder("231").WithPages(1).Build()) (Added later)
@ -2026,11 +1828,7 @@ public class ReaderServiceTests
//.WithChapter(new ChapterBuilder("14.9").WithPages(1).Build()) (added later)
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -2048,8 +1846,12 @@ public class ReaderServiceTests
await _context.SaveChangesAsync();
// Add 2 new unread series to the Series
series.Volumes[0].Chapters.Add(EntityFactory.CreateChapter("231", false, new List<MangaFile>(), 1));
series.Volumes[2].Chapters.Add(EntityFactory.CreateChapter("14.9", false, new List<MangaFile>(), 1));
series.Volumes[0].Chapters.Add(new ChapterBuilder("231")
.WithPages(1)
.Build());
series.Volumes[2].Chapters.Add(new ChapterBuilder("14.9")
.WithPages(1)
.Build());
_context.Series.Attach(series);
await _context.SaveChangesAsync();
@ -2067,7 +1869,7 @@ public class ReaderServiceTests
var volume = new VolumeBuilder("3").WithChapter(new ChapterBuilder("0").WithPages(1).Build()).Build();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("51").WithPages(1).Build())
.WithChapter(new ChapterBuilder("52").WithPages(1).Build())
@ -2089,11 +1891,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("41").WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -2130,7 +1928,7 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.WithChapter(new ChapterBuilder("2").WithPages(1).Build())
@ -2138,11 +1936,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("Some Special Title").WithIsSpecial(true).WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -2171,7 +1965,7 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.WithChapter(new ChapterBuilder("2").WithPages(1).Build())
@ -2180,11 +1974,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("Some Special Title").WithIsSpecial(true).WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -2214,7 +2004,7 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
@ -2222,11 +2012,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -2252,7 +2038,7 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("45").WithPages(5).Build())
.WithChapter(new ChapterBuilder("46").WithPages(46).Build())
@ -2275,11 +2061,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("14").WithPages(5).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -2323,7 +2105,7 @@ public class ReaderServiceTests
await ResetDb();
// TODO: Validate this is correct, shouldn't be possible to have 2 Volume 0's in a series
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.WithChapter(new ChapterBuilder("1").WithPages(2).Build())
@ -2333,11 +2115,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("1").WithPages(2).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -2366,17 +2144,13 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.WithChapter(new ChapterBuilder("1").WithPages(2).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -2443,7 +2217,7 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("10").WithPages(1).Build())
.WithChapter(new ChapterBuilder("20").WithPages(1).Build())
@ -2462,11 +2236,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);
@ -2501,7 +2271,6 @@ public class ReaderServiceTests
{
await ResetDb();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("10").WithPages(1).Build())
.WithChapter(new ChapterBuilder("20").WithPages(1).Build())
@ -2520,11 +2289,7 @@ public class ReaderServiceTests
.WithChapter(new ChapterBuilder("3").WithPages(1).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Manga).Build();
_context.Series.Add(series);

View file

@ -11,6 +11,7 @@ using API.DTOs.ReadingLists;
using API.DTOs.ReadingLists.CBL;
using API.Entities;
using API.Entities.Enums;
using API.Entities.Metadata;
using API.Extensions;
using API.Helpers;
using API.Helpers.Builders;
@ -78,10 +79,10 @@ public class ReadingListServiceTests
_context.ServerSetting.Update(setting);
_context.Library.Add(new Library()
{
Name = "Manga", Folders = new List<FolderPath>() {new FolderPath() {Path = "C:/data/"}}
});
_context.Library.Add(new LibraryBuilder("Manga")
.WithFolderPath(new FolderPathBuilder("C:/data/").Build())
.Build());
return await _context.SaveChangesAsync() > 0;
}
@ -114,47 +115,37 @@ public class ReadingListServiceTests
public async Task AddChaptersToReadingList_ShouldAddFirstItem_AsOrderZero()
{
await ResetDb();
_context.AppUser.Add(new AppUser()
{
UserName = "majora2007",
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>()
{
new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
_context.AppUser.Add(new AppUserBuilder("majora2007", "")
.WithLibrary(new LibraryBuilder("Test LIb", LibraryType.Book)
.WithSeries(new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadataBuilder().Build())
.WithVolumes(new List<Volume>()
{
new SeriesBuilder("Test")
.WithMetadata(DbFactory.SeriesMetadata(new List<CollectionTag>()))
.WithVolumes(new List<Volume>()
{
new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1")
.WithAgeRating(AgeRating.Everyone)
.Build()
)
.WithChapter(new ChapterBuilder("2")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.WithChapter(new ChapterBuilder("3")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.Build()
})
.Build(),
}
},
}
});
new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1")
.WithAgeRating(AgeRating.Everyone)
.Build()
)
.WithChapter(new ChapterBuilder("2")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.WithChapter(new ChapterBuilder("3")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.Build()
})
.Build())
.Build()
)
.Build()
);
await _context.SaveChangesAsync();
var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync("majora2007", AppUserIncludes.ReadingLists);
var readingList = DbFactory.ReadingList("test");
var readingList = new ReadingListBuilder("test").Build();
user!.ReadingLists = new List<ReadingList>()
{
readingList
@ -171,47 +162,36 @@ public class ReadingListServiceTests
public async Task AddChaptersToReadingList_ShouldNewItems_AfterLastOrder()
{
await ResetDb();
_context.AppUser.Add(new AppUser()
{
UserName = "majora2007",
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>()
{
new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
_context.AppUser.Add(new AppUserBuilder("majora2007", "")
.WithLibrary(new LibraryBuilder("Test LIb", LibraryType.Book)
.WithSeries(new SeriesBuilder("Test")
.WithVolumes(new List<Volume>()
{
new SeriesBuilder("Test")
.WithMetadata(DbFactory.SeriesMetadata(new List<CollectionTag>()))
.WithVolumes(new List<Volume>()
{
new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1")
.WithAgeRating(AgeRating.Everyone)
.Build()
)
.WithChapter(new ChapterBuilder("2")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.WithChapter(new ChapterBuilder("3")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.Build()
})
new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1")
.WithAgeRating(AgeRating.Everyone)
.Build()
)
.WithChapter(new ChapterBuilder("2")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.WithChapter(new ChapterBuilder("3")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.Build()
}
},
}
});
})
.Build())
.Build()
)
.Build()
);
await _context.SaveChangesAsync();
var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync("majora2007", AppUserIncludes.ReadingLists);
var readingList = DbFactory.ReadingList("test");
var readingList = new ReadingListBuilder("test").Build();
user!.ReadingLists = new List<ReadingList>()
{
readingList
@ -241,41 +221,35 @@ public class ReadingListServiceTests
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>()
{
new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(DbFactory.SeriesMetadata(new List<CollectionTag>()))
.WithVolumes(new List<Volume>()
{
new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1")
.WithAgeRating(AgeRating.Everyone)
.Build()
)
.WithChapter(new ChapterBuilder("2")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.WithChapter(new ChapterBuilder("3")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
new LibraryBuilder("Test LIb", LibraryType.Book)
.WithSeries(new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadataBuilder().Build())
.WithVolumes(new List<Volume>()
{
new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1")
.WithAgeRating(AgeRating.Everyone)
.Build()
})
.Build()
}
},
)
.WithChapter(new ChapterBuilder("2")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.WithChapter(new ChapterBuilder("3")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.Build()
})
.Build())
.Build()
}
});
await _context.SaveChangesAsync();
var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync("majora2007", AppUserIncludes.ReadingLists);
var readingList = DbFactory.ReadingList("Test");
var readingList = new ReadingListBuilder("test").Build();
user.ReadingLists = new List<ReadingList>()
{
readingList
@ -307,41 +281,35 @@ public class ReadingListServiceTests
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>()
{
new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(DbFactory.SeriesMetadata(new List<CollectionTag>()))
.WithVolumes(new List<Volume>()
{
new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1")
.WithAgeRating(AgeRating.Everyone)
.Build()
)
.WithChapter(new ChapterBuilder("2")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.WithChapter(new ChapterBuilder("3")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
new LibraryBuilder("Test LIb", LibraryType.Book)
.WithSeries(new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadataBuilder().Build())
.WithVolumes(new List<Volume>()
{
new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1")
.WithAgeRating(AgeRating.Everyone)
.Build()
})
.Build()
}
},
)
.WithChapter(new ChapterBuilder("2")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.WithChapter(new ChapterBuilder("3")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.Build()
})
.Build())
.Build()
}
});
await _context.SaveChangesAsync();
var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync("majora2007", AppUserIncludes.ReadingLists);
var readingList = DbFactory.ReadingList("test");
var readingList = new ReadingListBuilder("test").Build();
user!.ReadingLists = new List<ReadingList>()
{
readingList
@ -392,37 +360,31 @@ public class ReadingListServiceTests
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>()
{
new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(DbFactory.SeriesMetadata(new List<CollectionTag>()))
.WithVolumes(new List<Volume>()
{
new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1")
.WithAgeRating(AgeRating.Everyone)
.Build()
)
.WithChapter(new ChapterBuilder("2")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
new LibraryBuilder("Test LIb", LibraryType.Book)
.WithSeries(new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadataBuilder().Build())
.WithVolumes(new List<Volume>()
{
new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1")
.WithAgeRating(AgeRating.Everyone)
.Build()
})
.Build(),
}
},
)
.WithChapter(new ChapterBuilder("2")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.Build()
})
.Build())
.Build()
}
});
await _context.SaveChangesAsync();
var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync("majora2007", AppUserIncludes.ReadingLists);
var readingList = DbFactory.ReadingList("Test");
var readingList = new ReadingListBuilder("test").Build();
user.ReadingLists = new List<ReadingList>()
{
readingList
@ -455,41 +417,35 @@ public class ReadingListServiceTests
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>()
{
new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(DbFactory.SeriesMetadata(new List<CollectionTag>()))
.WithVolumes(new List<Volume>()
{
new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1")
.WithAgeRating(AgeRating.Everyone)
.Build()
)
.WithChapter(new ChapterBuilder("2")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.WithChapter(new ChapterBuilder("3")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
new LibraryBuilder("Test LIb", LibraryType.Book)
.WithSeries(new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadataBuilder().Build())
.WithVolumes(new List<Volume>()
{
new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1")
.WithAgeRating(AgeRating.Everyone)
.Build()
})
.Build()
}
},
)
.WithChapter(new ChapterBuilder("2")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.WithChapter(new ChapterBuilder("3")
.WithAgeRating(AgeRating.X18Plus)
.Build()
)
.Build()
})
.Build())
.Build()
}
});
await _context.SaveChangesAsync();
var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync("majora2007", AppUserIncludes.ReadingLists | AppUserIncludes.Progress);
var readingList = DbFactory.ReadingList("Test");
var readingList = new ReadingListBuilder("test").Build();
user.ReadingLists = new List<ReadingList>()
{
readingList
@ -529,35 +485,29 @@ public class ReadingListServiceTests
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>()
{
new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(DbFactory.SeriesMetadata(new List<CollectionTag>()))
.WithVolumes(new List<Volume>()
{
new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1")
.Build()
)
.WithChapter(new ChapterBuilder("2")
.Build()
)
new LibraryBuilder("Test LIb", LibraryType.Book)
.WithSeries(new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadataBuilder().Build())
.WithVolumes(new List<Volume>()
{
new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1")
.Build()
})
.Build()
}
},
)
.WithChapter(new ChapterBuilder("2")
.Build()
)
.Build()
})
.Build())
.Build()
}
});
await _context.SaveChangesAsync();
var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync("majora2007", AppUserIncludes.ReadingLists);
var readingList = DbFactory.ReadingList("Test");
var readingList = new ReadingListBuilder("test").Build();
user!.ReadingLists = new List<ReadingList>()
{
readingList
@ -578,7 +528,7 @@ public class ReadingListServiceTests
{
await ResetDb();
var s = new SeriesBuilder("Test")
.WithMetadata(DbFactory.SeriesMetadata(new List<CollectionTag>()))
.WithMetadata(new SeriesMetadataBuilder().Build())
.WithVolumes(new List<Volume>()
{
new VolumeBuilder("0")
@ -597,15 +547,9 @@ public class ReadingListServiceTests
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>()
{
new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
s
}
},
new LibraryBuilder("Test LIb 2", LibraryType.Book)
.WithSeries(s)
.Build()
}
});
@ -614,7 +558,7 @@ public class ReadingListServiceTests
await _context.SaveChangesAsync();
var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync("majora2007", AppUserIncludes.ReadingLists);
var readingList = DbFactory.ReadingList("Test");
var readingList = new ReadingListBuilder("test").Build();
user.ReadingLists = new List<ReadingList>()
{
readingList
@ -639,7 +583,7 @@ public class ReadingListServiceTests
{
await ResetDb();
var s = new SeriesBuilder("Test")
.WithMetadata(DbFactory.SeriesMetadata(new List<CollectionTag>()))
.WithMetadata(new SeriesMetadataBuilder().Build())
.WithVolumes(new List<Volume>()
{
new VolumeBuilder("0")
@ -658,22 +602,16 @@ public class ReadingListServiceTests
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>()
{
new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
s
}
},
new LibraryBuilder("Test LIb 2", LibraryType.Book)
.WithSeries(s)
.Build()
}
});
await _context.SaveChangesAsync();
var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync("majora2007", AppUserIncludes.ReadingLists);
var readingList = DbFactory.ReadingList("Test");
var readingList = new ReadingListBuilder("test").Build();
user.ReadingLists = new List<ReadingList>()
{
readingList
@ -697,7 +635,7 @@ public class ReadingListServiceTests
{
await ResetDb();
var s = new SeriesBuilder("Test")
.WithMetadata(DbFactory.SeriesMetadata(new List<CollectionTag>()))
.WithMetadata(new SeriesMetadataBuilder().Build())
.WithVolumes(new List<Volume>()
{
new VolumeBuilder("0")
@ -718,22 +656,16 @@ public class ReadingListServiceTests
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>()
{
new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
s
}
},
new LibraryBuilder("Test LIb 2", LibraryType.Book)
.WithSeries(s)
.Build()
}
});
await _context.SaveChangesAsync();
var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync("majora2007", AppUserIncludes.ReadingLists);
var readingList = DbFactory.ReadingList("Test");
var readingList = new ReadingListBuilder("test").Build();
user.ReadingLists = new List<ReadingList>()
{
readingList
@ -817,51 +749,27 @@ public class ReadingListServiceTests
private async Task CreateReadingList_SetupBaseData()
{
var fablesSeries = DbFactory.Series("Fables");
fablesSeries.Volumes.Add(new Volume()
{
Number = 1,
Name = "2002",
Chapters = new List<Chapter>()
{
EntityFactory.CreateChapter("1", false),
}
});
var fablesSeries = new SeriesBuilder("Fables").Build();
fablesSeries.Volumes.Add(
new VolumeBuilder("1")
.WithNumber(1)
.WithName("2002")
.WithChapter(new ChapterBuilder("1").Build())
.Build()
);
_context.AppUser.Add(new AppUser()
{
UserName = "majora2007",
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>()
{
new Library()
{
Name = "Test Lib",
Type = LibraryType.Book,
Series = new List<Series>()
{
fablesSeries,
},
},
},
});
_context.AppUser.Add(new AppUser()
{
UserName = "admin",
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>()
{
new Library()
{
Name = "Test Lib 2",
Type = LibraryType.Book,
Series = new List<Series>()
{
fablesSeries,
},
},
}
});
_context.AppUser.Add(new AppUserBuilder("majora2007", string.Empty)
.WithLibrary(new LibraryBuilder("Test LIb 2", LibraryType.Book)
.WithSeries(fablesSeries)
.Build())
.Build()
);
_context.AppUser.Add(new AppUserBuilder("admin", string.Empty)
.WithLibrary(new LibraryBuilder("Test LIb 2", LibraryType.Book)
.WithSeries(fablesSeries)
.Build())
.Build()
);
await _unitOfWork.CommitAsync();
}
@ -1016,51 +924,33 @@ public class ReadingListServiceTests
var cblReadingList = LoadCblFromPath("Fables.cbl");
// Mock up our series
var fablesSeries = DbFactory.Series("Fables");
var fables2Series = DbFactory.Series("Fables: The Last Castle");
var fablesSeries = new SeriesBuilder("Fables").Build();
var fables2Series = new SeriesBuilder("Fables: The Last Castle").Build();
fablesSeries.Volumes.Add(new Volume()
{
Number = 1,
Name = "2002",
Chapters = new List<Chapter>()
{
EntityFactory.CreateChapter("1", false),
EntityFactory.CreateChapter("2", false),
EntityFactory.CreateChapter("3", false),
fablesSeries.Volumes.Add(new VolumeBuilder("1")
.WithNumber(1)
.WithName("2002")
.WithChapter(new ChapterBuilder("1").Build())
.WithChapter(new ChapterBuilder("2").Build())
.WithChapter(new ChapterBuilder("3").Build())
.Build()
);
fables2Series.Volumes.Add(new VolumeBuilder("1")
.WithNumber(1)
.WithName("2003")
.WithChapter(new ChapterBuilder("1").Build())
.WithChapter(new ChapterBuilder("2").Build())
.WithChapter(new ChapterBuilder("3").Build())
.Build()
);
}
});
fables2Series.Volumes.Add(new Volume()
{
Number = 1,
Name = "2003",
Chapters = new List<Chapter>()
{
EntityFactory.CreateChapter("1", false),
EntityFactory.CreateChapter("2", false),
EntityFactory.CreateChapter("3", false),
_context.AppUser.Add(new AppUserBuilder("majora2007", string.Empty).Build());
}
});
_context.AppUser.Add(new AppUser()
{
UserName = "majora2007",
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>(),
});
_context.Library.Add(new Library()
{
Name = "Test Lib 2",
Type = LibraryType.Book,
Series = new List<Series>()
{
fablesSeries,
fables2Series,
},
});
_context.Library.Add(new LibraryBuilder("Test LIb 2", LibraryType.Book)
.WithSeries(fablesSeries)
.WithSeries(fables2Series)
.Build()
);
await _unitOfWork.CommitAsync();
@ -1077,33 +967,21 @@ public class ReadingListServiceTests
var cblReadingList = LoadCblFromPath("Fables.cbl");
// Mock up our series
var fablesSeries = DbFactory.Series("Fablesa");
var fables2Series = DbFactory.Series("Fablesa: The Last Castle");
var fablesSeries = new SeriesBuilder("Fablesa").Build();
var fables2Series = new SeriesBuilder("Fablesa: The Last Castle").Build();
fablesSeries.Volumes.Add(new Volume()
{
Number = 1,
Name = "2002",
Chapters = new List<Chapter>()
{
EntityFactory.CreateChapter("1", false),
EntityFactory.CreateChapter("2", false),
EntityFactory.CreateChapter("3", false),
}
});
fables2Series.Volumes.Add(new Volume()
{
Number = 1,
Name = "2003",
Chapters = new List<Chapter>()
{
EntityFactory.CreateChapter("1", false),
EntityFactory.CreateChapter("2", false),
EntityFactory.CreateChapter("3", false),
}
});
fablesSeries.Volumes.Add(new VolumeBuilder("2002")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
.WithChapter(new ChapterBuilder("2").Build())
.WithChapter(new ChapterBuilder("3").Build())
.Build());
fables2Series.Volumes.Add(new VolumeBuilder("2003")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
.WithChapter(new ChapterBuilder("2").Build())
.WithChapter(new ChapterBuilder("3").Build())
.Build());
_context.AppUser.Add(new AppUser()
{
@ -1112,16 +990,10 @@ public class ReadingListServiceTests
Libraries = new List<Library>(),
});
_context.Library.Add(new Library()
{
Name = "Test Lib 2",
Type = LibraryType.Book,
Series = new List<Series>()
{
fablesSeries,
fables2Series,
},
});
_context.Library.Add(new LibraryBuilder("Test LIb 2", LibraryType.Book)
.WithSeries(fablesSeries)
.WithSeries(fables2Series)
.Build());
await _unitOfWork.CommitAsync();
@ -1153,9 +1025,6 @@ public class ReadingListServiceTests
var cblReadingList = LoadCblFromPath("Fables.cbl");
// Mock up our series
// var fablesSeries = DbFactory.Series("Fables");
// var fables2Series = DbFactory.Series("Fables: The Last Castle");
var fablesSeries = new SeriesBuilder("Fables")
.WithVolume(new VolumeBuilder("2002")
.WithNumber(1)
@ -1174,49 +1043,16 @@ public class ReadingListServiceTests
.Build())
.Build();
// fablesSeries.Volumes.Add(new Volume()
// {
// Number = 1,
// Name = "2002",
// Chapters = new List<Chapter>()
// {
// EntityFactory.CreateChapter("1", false),
// EntityFactory.CreateChapter("2", false),
// EntityFactory.CreateChapter("3", false),
//
// }
// });
// fables2Series.Volumes.Add(new Volume()
// {
// Number = 1,
// Name = "2003",
// Chapters = new List<Chapter>()
// {
// EntityFactory.CreateChapter("1", false),
// EntityFactory.CreateChapter("2", false),
// EntityFactory.CreateChapter("3", false),
//
// }
// });
_context.AppUser.Add(new AppUser()
{
UserName = "majora2007",
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>()
{
new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
fablesSeries,
fables2Series
},
},
new LibraryBuilder("Test LIb 2", LibraryType.Book)
.WithSeries(fablesSeries)
.WithSeries(fables2Series)
.Build()
},
});
await _unitOfWork.CommitAsync();
@ -1245,33 +1081,21 @@ public class ReadingListServiceTests
var cblReadingList = LoadCblFromPath("Fables.cbl");
// Mock up our series
var fablesSeries = DbFactory.Series("Fables");
var fables2Series = DbFactory.Series("Fables: The Last Castle");
var fablesSeries = new SeriesBuilder("Fables").Build();
var fables2Series = new SeriesBuilder("Fables: The Last Castle").Build();
fablesSeries.Volumes.Add(new Volume()
{
Number = 1,
Name = "2002",
Chapters = new List<Chapter>()
{
EntityFactory.CreateChapter("1", false),
EntityFactory.CreateChapter("2", false),
EntityFactory.CreateChapter("3", false),
}
});
fables2Series.Volumes.Add(new Volume()
{
Number = 1,
Name = "2003",
Chapters = new List<Chapter>()
{
EntityFactory.CreateChapter("1", false),
EntityFactory.CreateChapter("2", false),
EntityFactory.CreateChapter("3", false),
}
});
fablesSeries.Volumes.Add(new VolumeBuilder("2002")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
.WithChapter(new ChapterBuilder("2").Build())
.WithChapter(new ChapterBuilder("3").Build())
.Build());
fables2Series.Volumes.Add(new VolumeBuilder("2003")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
.WithChapter(new ChapterBuilder("2").Build())
.WithChapter(new ChapterBuilder("3").Build())
.Build());
_context.AppUser.Add(new AppUser()
{
@ -1279,27 +1103,15 @@ public class ReadingListServiceTests
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>()
{
new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
fablesSeries,
},
},
new LibraryBuilder("Test LIb 2", LibraryType.Book)
.WithSeries(fablesSeries)
.Build()
},
});
_context.Library.Add(new Library()
{
Name = "Test Lib 2",
Type = LibraryType.Book,
Series = new List<Series>()
{
fables2Series,
},
});
_context.Library.Add(new LibraryBuilder("Test LIb 2", LibraryType.Book)
.WithSeries(fables2Series)
.Build());
await _unitOfWork.CommitAsync();
@ -1328,33 +1140,21 @@ public class ReadingListServiceTests
var cblReadingList = LoadCblFromPath("Fables.cbl");
// Mock up our series
var fablesSeries = DbFactory.Series("Fables");
var fables2Series = DbFactory.Series("Fables: The Last Castle");
var fablesSeries = new SeriesBuilder("Fables").Build();
var fables2Series = new SeriesBuilder("Fables: The Last Castle").Build();
fablesSeries.Volumes.Add(new Volume()
{
Number = 1,
Name = "2002",
Chapters = new List<Chapter>()
{
EntityFactory.CreateChapter("1", false),
EntityFactory.CreateChapter("2", false),
EntityFactory.CreateChapter("3", false),
}
});
fables2Series.Volumes.Add(new Volume()
{
Number = 1,
Name = "2003",
Chapters = new List<Chapter>()
{
EntityFactory.CreateChapter("1", false),
EntityFactory.CreateChapter("2", false),
EntityFactory.CreateChapter("3", false),
}
});
fablesSeries.Volumes.Add(new VolumeBuilder("2002")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
.WithChapter(new ChapterBuilder("2").Build())
.WithChapter(new ChapterBuilder("3").Build())
.Build());
fables2Series.Volumes.Add(new VolumeBuilder("2003")
.WithNumber(1)
.WithChapter(new ChapterBuilder("1").Build())
.WithChapter(new ChapterBuilder("2").Build())
.WithChapter(new ChapterBuilder("3").Build())
.Build());
_context.AppUser.Add(new AppUser()
{
@ -1362,16 +1162,10 @@ public class ReadingListServiceTests
ReadingLists = new List<ReadingList>(),
Libraries = new List<Library>()
{
new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
fablesSeries,
fables2Series
},
},
new LibraryBuilder("Test LIb 2", LibraryType.Book)
.WithSeries(fablesSeries)
.WithSeries(fables2Series)
.Build()
},
});

View file

@ -5,9 +5,9 @@ using API.Entities.Enums;
using API.Entities.Metadata;
using API.Extensions;
using API.Helpers.Builders;
using API.Parser;
using API.Services.Tasks;
using API.Services.Tasks.Scanner;
using API.Services.Tasks.Scanner.Parser;
using API.Tests.Helpers;
using Xunit;
@ -27,7 +27,7 @@ public class ScannerServiceTests
{
new SeriesBuilder("Darker Than Black")
.WithFormat(MangaFormat.Epub)
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithName("1")
.Build())
@ -51,7 +51,7 @@ public class ScannerServiceTests
{
new SeriesBuilder("Cage of Eden")
.WithFormat(MangaFormat.Archive)
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithName("1")
.Build())
@ -59,30 +59,11 @@ public class ScannerServiceTests
.Build(),
new SeriesBuilder("Darker Than Black")
.WithFormat(MangaFormat.Archive)
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithName("1")
.Build())
.WithLocalizedName("Darker Than Black")
.Build(),
// new Series()
// {
// Name = "Cage of Eden",
// LocalizedName = "Cage of Eden",
// OriginalName = "Cage of Eden",
// NormalizedName = "Darker Than Black".ToNormalized(),
// Metadata = new SeriesMetadata(),
// Format = MangaFormat.Archive
// },
// new Series()
// {
// Name = "Darker Than Black",
// LocalizedName = "Darker Than Black",
// OriginalName = "Darker Than Black",
// NormalizedName = "Darker Than Black".ToNormalized(),
// Metadata = new SeriesMetadata(),
// Format = MangaFormat.Archive
// }
};
Assert.Empty(ScannerService.FindSeriesNotOnDisk(existingSeries, infos));

View file

@ -74,37 +74,25 @@ public class SeriesServiceTests : AbstractDbTest
{
await ResetDb();
_context.Library.Add(new Library()
{
AppUsers = new List<AppUser>()
{
new AppUser()
{
UserName = "majora2007"
}
},
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("Omake").WithIsSpecial(true).WithTitle("Omake").WithPages(1).Build())
.WithChapter(new ChapterBuilder("Something SP02").WithIsSpecial(true).WithTitle("Something").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("21").WithPages(1).Build())
.WithChapter(new ChapterBuilder("21").WithPages(1).Build())
.Build())
_context.Library.Add(new LibraryBuilder("Test LIb")
.WithAppUser(new AppUserBuilder("majora2007", string.Empty).Build())
.WithSeries(new SeriesBuilder("Test")
.WithVolume(new VolumeBuilder("3")
.WithChapter(new ChapterBuilder("31").WithPages(1).Build())
.WithChapter(new ChapterBuilder("32").WithPages(1).Build())
.Build())
.Build(),
}
});
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("Omake").WithIsSpecial(true).WithTitle("Omake").WithPages(1).Build())
.WithChapter(new ChapterBuilder("Something SP02").WithIsSpecial(true).WithTitle("Something").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("21").WithPages(1).Build())
.WithChapter(new ChapterBuilder("21").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("3")
.WithChapter(new ChapterBuilder("31").WithPages(1).Build())
.WithChapter(new ChapterBuilder("32").WithPages(1).Build())
.Build())
.Build())
.Build());
await _context.SaveChangesAsync();
@ -122,37 +110,26 @@ public class SeriesServiceTests : AbstractDbTest
{
await ResetDb();
_context.Library.Add(new Library()
{
AppUsers = new List<AppUser>()
{
new AppUser()
{
UserName = "majora2007"
}
},
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.WithChapter(new ChapterBuilder("2").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("21").WithPages(1).Build())
.WithChapter(new ChapterBuilder("21").WithPages(1).Build())
.Build())
_context.Library.Add(new LibraryBuilder("Test LIb")
.WithAppUser(new AppUserBuilder("majora2007", string.Empty).Build())
.WithSeries(new SeriesBuilder("Test")
.WithVolume(new VolumeBuilder("3")
.WithChapter(new ChapterBuilder("31").WithPages(1).Build())
.WithChapter(new ChapterBuilder("32").WithPages(1).Build())
.Build())
.Build(),
}
});
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.WithChapter(new ChapterBuilder("2").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("21").WithPages(1).Build())
.WithChapter(new ChapterBuilder("21").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("3")
.WithChapter(new ChapterBuilder("31").WithPages(1).Build())
.WithChapter(new ChapterBuilder("32").WithPages(1).Build())
.Build())
.Build())
.Build()
);
await _context.SaveChangesAsync();
@ -170,35 +147,23 @@ public class SeriesServiceTests : AbstractDbTest
{
await ResetDb();
_context.Library.Add(new Library()
{
AppUsers = new List<AppUser>()
{
new AppUser()
{
UserName = "majora2007"
}
},
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.WithChapter(new ChapterBuilder("2").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
_context.Library.Add(new LibraryBuilder("Test LIb")
.WithAppUser(new AppUserBuilder("majora2007", string.Empty).Build())
.WithSeries(new SeriesBuilder("Test")
.WithVolume(new VolumeBuilder("3")
.WithChapter(new ChapterBuilder("31").WithPages(1).Build())
.Build())
.Build(),
}
});
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.WithChapter(new ChapterBuilder("2").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("3")
.WithChapter(new ChapterBuilder("31").WithPages(1).Build())
.Build())
.Build())
.Build());
await _context.SaveChangesAsync();
@ -216,35 +181,22 @@ public class SeriesServiceTests : AbstractDbTest
{
await ResetDb();
_context.Library.Add(new Library()
{
AppUsers = new List<AppUser>()
{
new AppUser()
{
UserName = "majora2007"
}
},
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.WithChapter(new ChapterBuilder("2").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
_context.Library.Add(new LibraryBuilder("Test LIb")
.WithAppUser(new AppUserBuilder("majora2007", string.Empty).Build())
.WithSeries(new SeriesBuilder("Test")
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.WithChapter(new ChapterBuilder("2").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("3")
.WithChapter(new ChapterBuilder("31").WithPages(1).Build())
.Build())
.Build(),
}
});
.WithVolume(new VolumeBuilder("3")
.WithChapter(new ChapterBuilder("31").WithPages(1).Build())
.Build())
.Build())
.Build());
await _context.SaveChangesAsync();
@ -265,31 +217,19 @@ public class SeriesServiceTests : AbstractDbTest
{
await ResetDb();
_context.Library.Add(new Library()
{
AppUsers = new List<AppUser>()
{
new AppUser()
{
UserName = "majora2007"
}
},
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
_context.Library.Add(new LibraryBuilder("Test LIb", LibraryType.Book)
.WithAppUser(new AppUserBuilder("majora2007", string.Empty).Build())
.WithSeries(new SeriesBuilder("Test")
.WithVolume(new VolumeBuilder("3")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
.Build(),
}
});
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("3")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
.Build())
.Build());
await _context.SaveChangesAsync();
@ -306,30 +246,18 @@ public class SeriesServiceTests : AbstractDbTest
{
await ResetDb();
_context.Library.Add(new Library()
{
AppUsers = new List<AppUser>()
{
new AppUser()
{
UserName = "majora2007"
}
},
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("Ano Orokamono ni mo Kyakkou wo! - Volume 1.epub", "Ano Orokamono ni mo Kyakkou wo! - Volume 1.epub").WithIsSpecial(true).WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("Ano Orokamono ni mo Kyakkou wo! - Volume 2.epub", "Ano Orokamono ni mo Kyakkou wo! - Volume 2.epub").WithPages(1).Build())
.Build())
.Build(),
}
});
_context.Library.Add(new LibraryBuilder("Test LIb", LibraryType.Book)
.WithAppUser(new AppUserBuilder("majora2007", string.Empty).Build())
.WithSeries(new SeriesBuilder("Test")
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("Ano Orokamono ni mo Kyakkou wo! - Volume 1.epub", "Ano Orokamono ni mo Kyakkou wo! - Volume 1.epub").WithIsSpecial(true).WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("Ano Orokamono ni mo Kyakkou wo! - Volume 2.epub", "Ano Orokamono ni mo Kyakkou wo! - Volume 2.epub").WithPages(1).Build())
.Build())
.Build())
.Build());
@ -353,34 +281,22 @@ public class SeriesServiceTests : AbstractDbTest
{
await ResetDb();
_context.Library.Add(new Library()
{
AppUsers = new List<AppUser>()
{
new AppUser()
{
UserName = "majora2007"
}
},
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
_context.Library.Add(new LibraryBuilder("Test LIb", LibraryType.Manga)
.WithAppUser(new AppUserBuilder("majora2007", string.Empty).Build())
.WithSeries(new SeriesBuilder("Test")
.WithVolume(new VolumeBuilder("1.2")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
.Build(),
}
});
.WithVolume(new VolumeBuilder("2")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("1.2")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("0").WithPages(1).Build())
.Build())
.Build())
.Build());
await _context.SaveChangesAsync();
@ -402,27 +318,15 @@ public class SeriesServiceTests : AbstractDbTest
{
await ResetDb();
_context.Library.Add(new Library()
{
AppUsers = new List<AppUser>()
{
new AppUser()
{
UserName = "majora2007"
}
},
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.Build())
.Build(),
}
});
_context.Library.Add(new LibraryBuilder("Test LIb", LibraryType.Manga)
.WithAppUser(new AppUserBuilder("majora2007", string.Empty).Build())
.WithSeries(new SeriesBuilder("Test")
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.Build())
.Build())
.Build());
await _context.SaveChangesAsync();
@ -451,27 +355,15 @@ public class SeriesServiceTests : AbstractDbTest
{
await ResetDb();
_context.Library.Add(new Library()
{
AppUsers = new List<AppUser>()
{
new AppUser()
{
UserName = "majora2007"
}
},
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.Build())
.Build(),
}
});
_context.Library.Add(new LibraryBuilder("Test LIb")
.WithAppUser(new AppUserBuilder("majora2007", string.Empty).Build())
.WithSeries(new SeriesBuilder("Test")
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.Build())
.Build())
.Build());
await _context.SaveChangesAsync();
@ -517,27 +409,15 @@ public class SeriesServiceTests : AbstractDbTest
{
await ResetDb();
_context.Library.Add(new Library()
{
AppUsers = new List<AppUser>()
{
new AppUser()
{
UserName = "majora2007"
}
},
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.Build())
.Build(),
}
});
_context.Library.Add(new LibraryBuilder("Test LIb")
.WithAppUser(new AppUserBuilder("majora2007", string.Empty).Build())
.WithSeries(new SeriesBuilder("Test")
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.Build())
.Build())
.Build());
await _context.SaveChangesAsync();
@ -564,27 +444,15 @@ public class SeriesServiceTests : AbstractDbTest
{
await ResetDb();
_context.Library.Add(new Library()
{
AppUsers = new List<AppUser>()
{
new AppUser()
{
UserName = "majora2007"
}
},
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>()
{
new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.Build())
.Build(),
}
});
_context.Library.Add(new LibraryBuilder("Test LIb", LibraryType.Book)
.WithAppUser(new AppUserBuilder("majora2007", string.Empty).Build())
.WithSeries(new SeriesBuilder("Test")
.WithVolume(new VolumeBuilder("1")
.WithChapter(new ChapterBuilder("1").WithPages(1).Build())
.Build())
.Build())
.Build());
await _context.SaveChangesAsync();
@ -612,13 +480,8 @@ public class SeriesServiceTests : AbstractDbTest
{
await ResetDb();
var s = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.Build();
s.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
};
s.Library = new LibraryBuilder("Test LIb", LibraryType.Book).Build();
_context.Series.Add(s);
await _context.SaveChangesAsync();
@ -646,13 +509,8 @@ public class SeriesServiceTests : AbstractDbTest
{
await ResetDb();
var s = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.Build();
s.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
};
s.Library = new LibraryBuilder("Test LIb", LibraryType.Book).Build();
_context.Series.Add(s);
await _context.SaveChangesAsync();
@ -692,13 +550,9 @@ public class SeriesServiceTests : AbstractDbTest
var s = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadataBuilder().Build())
.Build();
s.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
};
s.Library = new LibraryBuilder("Test LIb", LibraryType.Book).Build();
var g = DbFactory.Genre("Existing Genre");
var g = new GenreBuilder("Existing Genre").Build();
s.Metadata.Genres = new List<Genre>() {g};
_context.Series.Add(s);
@ -730,13 +584,9 @@ public class SeriesServiceTests : AbstractDbTest
var s = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadataBuilder().Build())
.Build();
s.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
};
s.Library = new LibraryBuilder("Test LIb", LibraryType.Book).Build();
var g = DbFactory.Person("Existing Person", PersonRole.Publisher);
var g = new PersonBuilder("Existing Person", PersonRole.Publisher).Build();
_context.Series.Add(s);
_context.Person.Add(g);
@ -767,14 +617,10 @@ public class SeriesServiceTests : AbstractDbTest
var s = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadataBuilder().Build())
.Build();
s.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
};
var g = DbFactory.Person("Existing Person", PersonRole.Publisher);
s.Metadata.People = new List<Person>() {DbFactory.Person("Existing Writer", PersonRole.Writer),
DbFactory.Person("Existing Translator", PersonRole.Translator), DbFactory.Person("Existing Publisher 2", PersonRole.Publisher)};
s.Library = new LibraryBuilder("Test LIb", LibraryType.Book).Build();
var g = new PersonBuilder("Existing Person", PersonRole.Publisher).Build();
s.Metadata.People = new List<Person>() {new PersonBuilder("Existing Writer", PersonRole.Writer).Build(),
new PersonBuilder("Existing Translator", PersonRole.Translator).Build(), new PersonBuilder("Existing Publisher 2", PersonRole.Publisher).Build()};
_context.Series.Add(s);
_context.Person.Add(g);
@ -807,12 +653,8 @@ public class SeriesServiceTests : AbstractDbTest
var s = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadataBuilder().Build())
.Build();
s.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
};
var g = DbFactory.Person("Existing Person", PersonRole.Publisher);
s.Library = new LibraryBuilder("Test LIb", LibraryType.Book).Build();
var g = new PersonBuilder("Existing Person", PersonRole.Publisher).Build();
_context.Series.Add(s);
_context.Person.Add(g);
@ -842,12 +684,8 @@ public class SeriesServiceTests : AbstractDbTest
var s = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadataBuilder().Build())
.Build();
s.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
};
var g = DbFactory.Genre("Existing Genre");
s.Library = new LibraryBuilder("Test LIb", LibraryType.Book).Build();
var g = new GenreBuilder("Existing Genre").Build();
s.Metadata.Genres = new List<Genre>() {g};
s.Metadata.GenresLocked = true;
_context.Series.Add(s);
@ -881,11 +719,7 @@ public class SeriesServiceTests : AbstractDbTest
var s = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadataBuilder().Build())
.Build();
s.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Book,
};
s.Library = new LibraryBuilder("Test LIb", LibraryType.Book).Build();
_context.Series.Add(s);
await _context.SaveChangesAsync();
@ -913,10 +747,9 @@ public class SeriesServiceTests : AbstractDbTest
private static Series CreateSeriesMock()
{
var file = EntityFactory.CreateMangaFile("Test.cbz", MangaFormat.Archive, 1);
var file = new MangaFileBuilder("Test.cbz", MangaFormat.Archive, 1).Build();
var series = new SeriesBuilder("Test")
.WithMetadata(new SeriesMetadata())
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("95").WithPages(1).WithFile(file).Build())
.WithChapter(new ChapterBuilder("96").WithPages(1).WithFile(file).Build())
@ -937,11 +770,7 @@ public class SeriesServiceTests : AbstractDbTest
.WithChapter(new ChapterBuilder("32").WithPages(1).WithFile(file).Build())
.Build())
.Build();
series.Library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
};
series.Library = new LibraryBuilder("Test LIb", LibraryType.Book).Build();
return series;
}
@ -970,13 +799,13 @@ public class SeriesServiceTests : AbstractDbTest
var series = CreateSeriesMock();
var files = new List<MangaFile>()
{
EntityFactory.CreateMangaFile("Test.cbz", MangaFormat.Archive, 1)
new MangaFileBuilder("Test.cbz", MangaFormat.Archive, 1).Build()
};
series.Volumes[1].Chapters = new List<Chapter>()
{
EntityFactory.CreateChapter("2", false, files, 1),
EntityFactory.CreateChapter("1.1", false, files, 1),
EntityFactory.CreateChapter("1.2", false, files, 1),
new ChapterBuilder("2").WithFiles(files).WithPages(1).Build(),
new ChapterBuilder("1.1").WithFiles(files).WithPages(1).Build(),
new ChapterBuilder("1.2").WithFiles(files).WithPages(1).Build(),
};
var firstChapter = SeriesService.GetFirstChapterForMetadata(series, false);
@ -1038,9 +867,9 @@ public class SeriesServiceTests : AbstractDbTest
Type = LibraryType.Book,
Series = new List<Series>()
{
DbFactory.Series("Test Series"),
DbFactory.Series("Test Series Prequels"),
DbFactory.Series("Test Series Sequels"),
new SeriesBuilder("Test Series").Build(),
new SeriesBuilder("Test Series Prequels").Build(),
new SeriesBuilder("Test Series Sequels").Build(),
}
});
@ -1080,8 +909,8 @@ public class SeriesServiceTests : AbstractDbTest
Type = LibraryType.Book,
Series = new List<Series>()
{
DbFactory.Series("Series A"),
DbFactory.Series("Series B"),
new SeriesBuilder("Series A").Build(),
new SeriesBuilder("Series B").Build(),
}
});
@ -1125,8 +954,8 @@ public class SeriesServiceTests : AbstractDbTest
Type = LibraryType.Book,
Series = new List<Series>()
{
DbFactory.Series("Series A"),
DbFactory.Series("Series B"),
new SeriesBuilder("Series A").Build(),
new SeriesBuilder("Series B").Build(),
}
});
@ -1170,8 +999,8 @@ public class SeriesServiceTests : AbstractDbTest
Type = LibraryType.Book,
Series = new List<Series>()
{
DbFactory.Series("Test Series"),
DbFactory.Series("Test Series Prequels"),
new SeriesBuilder("Test Series").Build(),
new SeriesBuilder("Test Series Prequels").Build(),
}
});
@ -1215,11 +1044,11 @@ public class SeriesServiceTests : AbstractDbTest
Type = LibraryType.Book,
Series = new List<Series>()
{
DbFactory.Series("Test Series"),
DbFactory.Series("Test Series Editions"),
DbFactory.Series("Test Series Prequels"),
DbFactory.Series("Test Series Sequels"),
DbFactory.Series("Test Series Adaption"),
new SeriesBuilder("Test Series").Build(),
new SeriesBuilder("Test Series Editions").Build(),
new SeriesBuilder("Test Series Prequels").Build(),
new SeriesBuilder("Test Series Sequels").Build(),
new SeriesBuilder("Test Series Adaption").Build(),
}
});
await _context.SaveChangesAsync();
@ -1243,24 +1072,12 @@ public class SeriesServiceTests : AbstractDbTest
public async Task SeriesRelation_ShouldAllowDeleteOnLibrary()
{
await ResetDb();
var lib = new Library()
{
AppUsers = new List<AppUser>()
{
new AppUser()
{
UserName = "majora2007"
}
},
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
DbFactory.Series("Test Series"),
DbFactory.Series("Test Series Prequels"),
DbFactory.Series("Test Series Sequels"),
}
};
var lib = new LibraryBuilder("Test LIb")
.WithSeries(new SeriesBuilder("Test Series").Build())
.WithSeries(new SeriesBuilder("Test Series Prequels").Build())
.WithSeries(new SeriesBuilder("Test Series Sequels").Build())
.WithAppUser(new AppUserBuilder("majora2007", string.Empty).Build())
.Build();
_context.Library.Add(lib);
await _context.SaveChangesAsync();
@ -1291,51 +1108,28 @@ public class SeriesServiceTests : AbstractDbTest
public async Task SeriesRelation_ShouldAllowDeleteOnLibrary_WhenSeriesCrossLibraries()
{
await ResetDb();
var lib1 = new Library()
{
AppUsers = new List<AppUser>()
{
new AppUser()
{
UserName = "majora2007"
}
},
Name = "Test LIb",
Type = LibraryType.Book,
Series = new List<Series>()
{
new SeriesBuilder("Test Series")
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1").WithFile(new MangaFile()
{
Pages = 1,
FilePath = "fake file"
}).Build())
.Build())
.Build(),
new SeriesBuilder("Test Series Prequels").Build(),
new SeriesBuilder("Test Series Sequels").Build(),
}
};
var lib1 = new LibraryBuilder("Test LIb")
.WithSeries(new SeriesBuilder("Test Series")
.WithVolume(new VolumeBuilder("0")
.WithChapter(new ChapterBuilder("1").WithFile(
new MangaFileBuilder($"{DataDirectory}1.zip", MangaFormat.Archive)
.WithPages(1)
.Build()
).Build())
.Build())
.Build())
.WithSeries(new SeriesBuilder("Test Series Prequels").Build())
.WithSeries(new SeriesBuilder("Test Series Sequels").Build())
.WithAppUser(new AppUserBuilder("majora2007", string.Empty).Build())
.Build();
_context.Library.Add(lib1);
var lib2 = new Library()
{
AppUsers = new List<AppUser>()
{
new AppUser()
{
UserName = "majora2007"
}
},
Name = "Test LIb 2",
Type = LibraryType.Book,
Series = new List<Series>()
{
DbFactory.Series("Test Series 2"),
DbFactory.Series("Test Series Prequels 2"),
DbFactory.Series("Test Series Prequels 2"),
}
};
var lib2 = new LibraryBuilder("Test LIb 2", LibraryType.Book)
.WithSeries(new SeriesBuilder("Test Series 2").Build())
.WithSeries(new SeriesBuilder("Test Series Prequels 2").Build())
.WithSeries(new SeriesBuilder("Test Series Prequels 2").Build())// TODO: Is this a bug
.WithAppUser(new AppUserBuilder("majora2007", string.Empty).Build())
.Build();
_context.Library.Add(lib2);
await _context.SaveChangesAsync();
@ -1365,7 +1159,81 @@ public class SeriesServiceTests : AbstractDbTest
#region UpdateRelatedList
// TODO: Implement UpdateRelatedList
#endregion
#region FormatChapterName
[Theory]
[InlineData(LibraryType.Manga, false, "Chapter")]
[InlineData(LibraryType.Comic, false, "Issue")]
[InlineData(LibraryType.Comic, true, "Issue #")]
[InlineData(LibraryType.Book, false, "Book")]
public void FormatChapterNameTest(LibraryType libraryType, bool withHash, string expected )
{
Assert.Equal(expected, SeriesService.FormatChapterName(libraryType, withHash));
}
#endregion
#region FormatChapterTitle
[Fact]
public void FormatChapterTitle_Manga_NonSpecial()
{
var chapter = new ChapterBuilder("1").WithTitle("Some title").WithIsSpecial(false).Build();
Assert.Equal("Chapter Some title", SeriesService.FormatChapterTitle(chapter, LibraryType.Manga, false));
}
[Fact]
public void FormatChapterTitle_Manga_Special()
{
var chapter = new ChapterBuilder("1").WithTitle("Some title").WithIsSpecial(true).Build();
Assert.Equal("Some title", SeriesService.FormatChapterTitle(chapter, LibraryType.Manga, false));
}
[Fact]
public void FormatChapterTitle_Comic_NonSpecial_WithoutHash()
{
var chapter = new ChapterBuilder("1").WithTitle("Some title").WithIsSpecial(false).Build();
Assert.Equal("Issue Some title", SeriesService.FormatChapterTitle(chapter, LibraryType.Comic, false));
}
[Fact]
public void FormatChapterTitle_Comic_Special_WithoutHash()
{
var chapter = new ChapterBuilder("1").WithTitle("Some title").WithIsSpecial(true).Build();
Assert.Equal("Some title", SeriesService.FormatChapterTitle(chapter, LibraryType.Comic, false));
}
[Fact]
public void FormatChapterTitle_Comic_NonSpecial_WithHash()
{
var chapter = new ChapterBuilder("1").WithTitle("Some title").WithIsSpecial(false).Build();
Assert.Equal("Issue #Some title", SeriesService.FormatChapterTitle(chapter, LibraryType.Comic, true));
}
[Fact]
public void FormatChapterTitle_Comic_Special_WithHash()
{
var chapter = new ChapterBuilder("1").WithTitle("Some title").WithIsSpecial(true).Build();
Assert.Equal("Some title", SeriesService.FormatChapterTitle(chapter, LibraryType.Comic, true));
}
[Fact]
public void FormatChapterTitle_Book_NonSpecial()
{
var chapter = new ChapterBuilder("1").WithTitle("Some title").WithIsSpecial(false).Build();
Assert.Equal("Book Some title", SeriesService.FormatChapterTitle(chapter, LibraryType.Book, false));
}
[Fact]
public void FormatChapterTitle_Book_Special()
{
var chapter = new ChapterBuilder("1").WithTitle("Some title").WithIsSpecial(true).Build();
Assert.Equal("Some title", SeriesService.FormatChapterTitle(chapter, LibraryType.Book, false));
}
#endregion
}

View file

@ -81,10 +81,11 @@ public class TachiyomiServiceTests
_context.ServerSetting.Update(setting);
_context.Library.Add(new Library()
{
Name = "Manga", Folders = new List<FolderPath>() {new FolderPath() {Path = "C:/data/"}}
});
_context.Library.Add(
new LibraryBuilder("Manga")
.WithFolderPath(new FolderPathBuilder("C:/data/").Build())
.Build()
);
return await _context.SaveChangesAsync() > 0;
}
@ -139,12 +140,10 @@ public class TachiyomiServiceTests
.WithPages(7)
.Build();
var library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>() { series }
};
var library = new LibraryBuilder("Test LIb", LibraryType.Manga)
.WithSeries(series)
.Build();
_context.AppUser.Add(new AppUser()
{
@ -186,12 +185,9 @@ public class TachiyomiServiceTests
.WithPages(7)
.Build();
var library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>() { series }
};
var library = new LibraryBuilder("Test LIb", LibraryType.Manga)
.WithSeries(series)
.Build();
_context.AppUser.Add(new AppUser()
{
@ -240,12 +236,9 @@ public class TachiyomiServiceTests
.WithPages(7)
.Build();
var library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>() { series }
};
var library = new LibraryBuilder("Test LIb", LibraryType.Manga)
.WithSeries(series)
.Build();
_context.AppUser.Add(new AppUser()
{
@ -293,12 +286,9 @@ public class TachiyomiServiceTests
.WithPages(7)
.Build();
var library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>() { series }
};
var library = new LibraryBuilder("Test LIb", LibraryType.Manga)
.WithSeries(series)
.Build();
_context.AppUser.Add(new AppUser()
{
@ -341,12 +331,9 @@ public class TachiyomiServiceTests
.WithPages(646)
.Build();
var library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>() { series }
};
var library = new LibraryBuilder("Test LIb", LibraryType.Manga)
.WithSeries(series)
.Build();
_context.AppUser.Add(new AppUser()
{
@ -394,12 +381,9 @@ public class TachiyomiServiceTests
.WithPages(7)
.Build();
var library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Comic,
Series = new List<Series>() { series }
};
var library = new LibraryBuilder("Test LIb", LibraryType.Manga)
.WithSeries(series)
.Build();
_context.AppUser.Add(new AppUser()
{
@ -452,12 +436,9 @@ public class TachiyomiServiceTests
.WithPages(7)
.Build();
var library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>() { series }
};
var library = new LibraryBuilder("Test LIb", LibraryType.Manga)
.WithSeries(series)
.Build();
_context.AppUser.Add(new AppUser()
{
@ -498,12 +479,9 @@ public class TachiyomiServiceTests
.WithPages(7)
.Build();
var library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>() { series }
};
var library = new LibraryBuilder("Test LIb", LibraryType.Manga)
.WithSeries(series)
.Build();
_context.AppUser.Add(new AppUser()
{
@ -551,12 +529,9 @@ public class TachiyomiServiceTests
.WithPages(7)
.Build();
var library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>() { series }
};
var library = new LibraryBuilder("Test LIb", LibraryType.Manga)
.WithSeries(series)
.Build();
_context.AppUser.Add(new AppUser()
{
@ -602,12 +577,9 @@ public class TachiyomiServiceTests
.WithPages(7)
.Build();
var library = new Library()
{
Name = "Test LIb",
Type = LibraryType.Manga,
Series = new List<Series>() { series }
};
var library = new LibraryBuilder("Test LIb", LibraryType.Manga)
.WithSeries(series)
.Build();
_context.AppUser.Add(new AppUser()
{

View file

@ -0,0 +1,5 @@
<?xml version='1.0' encoding='utf-8'?>
<ComicInfo>
<Series>Accel World</Series>
<Number>2</Number>
</ComicInfo>

View file

@ -0,0 +1,6 @@
<?xml version='1.0' encoding='utf-8'?>
<ComicInfo>
<Series>Hajime no Ippo</Series>
<Number>3</Number>
<AgeRating>M</AgeRating>
</ComicInfo>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1 @@
This is an example of a layout. All files in here have non-copyrighted data but emulate real series to ensure the Process series Works as expected.

View file

@ -7,6 +7,7 @@ using System.Threading.Tasks;
using API.Entities;
using API.Entities.Enums;
using API.Helpers;
using API.Helpers.Builders;
using API.Services;
using API.Services.Tasks.Metadata;
using API.SignalR;
@ -43,25 +44,26 @@ public class WordCountAnalysisTests : AbstractDbTest
public async Task ReadingTimeShouldBeNonZero()
{
await ResetDb();
var series = EntityFactory.CreateSeries("Test Series");
series.Format = MangaFormat.Epub;
var chapter = EntityFactory.CreateChapter("", false, new List<MangaFile>()
{
EntityFactory.CreateMangaFile(
Path.Join(_testDirectory, "The Golden Harpoon; Or, Lost Among the Floes A Story of the Whaling Grounds.epub"),
MangaFormat.Epub, 0)
});
var series = new SeriesBuilder("Test Series")
.WithFormat(MangaFormat.Epub)
.Build();
_context.Library.Add(new Library()
{
Name = "Test",
Type = LibraryType.Book,
Series = new List<Series>() {series}
});
var chapter = new ChapterBuilder("")
.WithFile(new MangaFileBuilder(
Path.Join(_testDirectory,
"The Golden Harpoon; Or, Lost Among the Floes A Story of the Whaling Grounds.epub"),
MangaFormat.Epub).Build())
.Build();
_context.Library.Add(new LibraryBuilder("Test LIb", LibraryType.Book)
.WithSeries(series)
.Build());
series.Volumes = new List<Volume>()
{
EntityFactory.CreateVolume("0", new List<Chapter>() {chapter})
new VolumeBuilder("0")
.WithChapter(chapter)
.Build(),
};
await _context.SaveChangesAsync();
@ -98,26 +100,23 @@ public class WordCountAnalysisTests : AbstractDbTest
public async Task ReadingTimeShouldIncreaseWhenNewBookAdded()
{
await ResetDb();
var series = EntityFactory.CreateSeries("Test Series");
series.Format = MangaFormat.Epub;
var chapter = EntityFactory.CreateChapter("", false, new List<MangaFile>()
{
EntityFactory.CreateMangaFile(
Path.Join(_testDirectory, "The Golden Harpoon; Or, Lost Among the Floes A Story of the Whaling Grounds.epub"),
MangaFormat.Epub, 0)
});
var chapter = new ChapterBuilder("")
.WithFile(new MangaFileBuilder(
Path.Join(_testDirectory,
"The Golden Harpoon; Or, Lost Among the Floes A Story of the Whaling Grounds.epub"),
MangaFormat.Epub).Build())
.Build();
var series = new SeriesBuilder("Test Series")
.WithFormat(MangaFormat.Epub)
.WithVolume(new VolumeBuilder("0")
.WithChapter(chapter)
.Build())
.Build();
_context.Library.Add(new Library()
{
Name = "Test",
Type = LibraryType.Book,
Series = new List<Series>() {series}
});
_context.Library.Add(new LibraryBuilder("Test", LibraryType.Book)
.WithSeries(series)
.Build());
series.Volumes = new List<Volume>()
{
EntityFactory.CreateVolume("0", new List<Chapter>() {chapter})
};
await _context.SaveChangesAsync();
@ -125,18 +124,19 @@ public class WordCountAnalysisTests : AbstractDbTest
var cacheService = new CacheHelper(new FileService());
var service = new WordCountAnalyzerService(Substitute.For<ILogger<WordCountAnalyzerService>>(), _unitOfWork,
Substitute.For<IEventHub>(), cacheService, _readerService);
await service.ScanSeries(1, 1);
var chapter2 = EntityFactory.CreateChapter("2", false, new List<MangaFile>()
{
EntityFactory.CreateMangaFile(
Path.Join(_testDirectory, "The Golden Harpoon; Or, Lost Among the Floes A Story of the Whaling Grounds.epub"),
MangaFormat.Epub, 0)
});
var chapter2 = new ChapterBuilder("2")
.WithFile(new MangaFileBuilder(
Path.Join(_testDirectory,
"The Golden Harpoon; Or, Lost Among the Floes A Story of the Whaling Grounds.epub"),
MangaFormat.Epub).Build())
.Build();
series.Volumes.Add(EntityFactory.CreateVolume("1", new List<Chapter>() {chapter2}));
series.Volumes.Add(new VolumeBuilder("1")
.WithChapter(chapter2)
.Build());
series.Volumes.First().Chapters.Add(chapter2);
await _unitOfWork.CommitAsync();