Bugfix/release cleanup (#512)
* Lots of cleanup on the warnings in the solution. Deprecated IsLastWriteLessThan and made a new method HasFileBeenModifiedSince. * Added some tests for the new extension method. * Changed filter import to use correct import * Scan Series now uses Refresh Metadata for Series, rather than library one. * Fixed an issue where cover generation wasn't properly taking forced update into consideration. Removed a case of cover generation for no reason. * Fixed series downloads not triggering backend call
This commit is contained in:
parent
2a3a08de74
commit
0d2d73e8ae
33 changed files with 116 additions and 131 deletions
|
|
@ -1,21 +1,33 @@
|
|||
namespace API.Tests.Extensions
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using API.Extensions;
|
||||
using Xunit;
|
||||
|
||||
namespace API.Tests.Extensions
|
||||
{
|
||||
public class FileInfoExtensionsTests
|
||||
{
|
||||
// [Fact]
|
||||
// public void DoesLastWriteMatchTest()
|
||||
// {
|
||||
// var fi = Substitute.For<FileInfo>();
|
||||
// fi.LastWriteTime = DateTime.Now;
|
||||
//
|
||||
// var deltaTime = DateTime.Today.Subtract(TimeSpan.FromDays(1));
|
||||
// Assert.False(fi.DoesLastWriteMatch(deltaTime));
|
||||
// }
|
||||
//
|
||||
// [Fact]
|
||||
// public void IsLastWriteLessThanTest()
|
||||
// {
|
||||
//
|
||||
// }
|
||||
private static readonly string TestDirectory = Path.Join(Directory.GetCurrentDirectory(), "../../../Extensions/Test Data/");
|
||||
|
||||
[Fact]
|
||||
public void HasFileBeenModifiedSince_ShouldBeFalse()
|
||||
{
|
||||
var filepath = Path.Join(TestDirectory, "not modified.txt");
|
||||
var date = new FileInfo(filepath).LastWriteTime;
|
||||
Assert.False(new FileInfo(filepath).HasFileBeenModifiedSince(date));
|
||||
File.ReadAllText(filepath);
|
||||
Assert.False(new FileInfo(filepath).HasFileBeenModifiedSince(date));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasFileBeenModifiedSince_ShouldBeTrue()
|
||||
{
|
||||
var filepath = Path.Join(TestDirectory, "modified on run.txt");
|
||||
var date = new FileInfo(filepath).LastWriteTime;
|
||||
Assert.False(new FileInfo(filepath).HasFileBeenModifiedSince(date));
|
||||
File.AppendAllLines(filepath, new[] { DateTime.Now.ToString(CultureInfo.InvariantCulture) });
|
||||
Assert.True(new FileInfo(filepath).HasFileBeenModifiedSince(date));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
API.Tests/Extensions/Test Data/modified on run.txt
Normal file
2
API.Tests/Extensions/Test Data/modified on run.txt
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
This file should be modified by the unit test08/20/2021 10:26:03
|
||||
08/20/2021 10:26:29
|
||||
1
API.Tests/Extensions/Test Data/not modified.txt
Normal file
1
API.Tests/Extensions/Test Data/not modified.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Hello, this file should not be modified
|
||||
|
|
@ -64,6 +64,7 @@ namespace API.Tests.Parser
|
|||
[InlineData("Sword Art Online Vol 10 - Alicization Running [Yen Press] [LuCaZ] {r2}.epub", "10")]
|
||||
[InlineData("Noblesse - Episode 406 (52 Pages).7z", "0")]
|
||||
[InlineData("X-Men v1 #201 (September 2007).cbz", "1")]
|
||||
[InlineData("Hentai Ouji to Warawanai Neko. - Vol. 06 Ch. 034.5", "6")]
|
||||
public void ParseVolumeTest(string filename, string expected)
|
||||
{
|
||||
Assert.Equal(expected, API.Parser.Parser.ParseVolume(filename));
|
||||
|
|
@ -154,6 +155,7 @@ namespace API.Tests.Parser
|
|||
[InlineData("Please Go Home, Akutsu-San! - Chapter 038.5 - Volume Announcement.cbz", "Please Go Home, Akutsu-San!")]
|
||||
[InlineData("Killing Bites - Vol 11 Chapter 050 Save Me, Nunupi!.cbz", "Killing Bites")]
|
||||
[InlineData("Mad Chimera World - Volume 005 - Chapter 026.cbz", "Mad Chimera World")]
|
||||
[InlineData("Hentai Ouji to Warawanai Neko. - Vol. 06 Ch. 034.5", "Hentai Ouji to Warawanai Neko.")]
|
||||
public void ParseSeriesTest(string filename, string expected)
|
||||
{
|
||||
Assert.Equal(expected, API.Parser.Parser.ParseSeries(filename));
|
||||
|
|
@ -222,6 +224,7 @@ namespace API.Tests.Parser
|
|||
[InlineData("Boku No Kokoro No Yabai Yatsu - Chapter 054 I Prayed At The Shrine (V0).cbz", "54")]
|
||||
[InlineData("Ijousha No Ai - Vol.01 Chapter 029 8 Years Ago", "29")]
|
||||
[InlineData("Kedouin Makoto - Corpse Party Musume, Chapter 09.cbz", "9")]
|
||||
[InlineData("Hentai Ouji to Warawanai Neko. - Vol. 06 Ch. 034.5", "34.5")]
|
||||
public void ParseChaptersTest(string filename, string expected)
|
||||
{
|
||||
Assert.Equal(expected, API.Parser.Parser.ParseChapter(filename));
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@ namespace API.Tests.Services
|
|||
private readonly IBookService _bookService = Substitute.For<IBookService>();
|
||||
private readonly IImageService _imageService = Substitute.For<IImageService>();
|
||||
private readonly ILogger<MetadataService> _metadataLogger = Substitute.For<ILogger<MetadataService>>();
|
||||
private readonly IDirectoryService _directoryService = Substitute.For<IDirectoryService>();
|
||||
private readonly ICacheService _cacheService = Substitute.For<ICacheService>();
|
||||
|
||||
private readonly DbConnection _connection;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue