Get naming correctly in unit tests, add some notes
Adjust numbers in unit tests to make sure they're values that can be passed to IsSeriesCompleted (TotalCount = External count unless comicinfo has more)
This commit is contained in:
parent
7c910ce090
commit
64ca497bb6
3 changed files with 19 additions and 11 deletions
|
|
@ -903,7 +903,7 @@ public class ExternalMetadataServiceTests : AbstractDbTest
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void IsSeriesCompleted_Volumes_IncludeSpecialsCheck()
|
public void IsSeriesCompleted_Volumes_DecimalVolumes()
|
||||||
{
|
{
|
||||||
const string seriesName = "Test - Volume Complete";
|
const string seriesName = "Test - Volume Complete";
|
||||||
var series = new SeriesBuilder(seriesName)
|
var series = new SeriesBuilder(seriesName)
|
||||||
|
|
@ -918,7 +918,7 @@ public class ExternalMetadataServiceTests : AbstractDbTest
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
var chapters = new List<Chapter>();
|
var chapters = new List<Chapter>();
|
||||||
// External metadata includes special (2.5)
|
// External metadata includes decimal volume 2.5
|
||||||
var externalMetadata = new ExternalSeriesDetailDto { Chapters = 0, Volumes = 3 };
|
var externalMetadata = new ExternalSeriesDetailDto { Chapters = 0, Volumes = 3 };
|
||||||
|
|
||||||
var result = ExternalMetadataService.IsSeriesCompleted(series, chapters, externalMetadata, 2);
|
var result = ExternalMetadataService.IsSeriesCompleted(series, chapters, externalMetadata, 2);
|
||||||
|
|
@ -958,8 +958,13 @@ public class ExternalMetadataServiceTests : AbstractDbTest
|
||||||
Assert.Equal(3, series.Metadata.TotalCount);
|
Assert.Equal(3, series.Metadata.TotalCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <remarks>
|
||||||
|
/// This unit test also illustrates the bug where you may get a false positive if you had Volumes 1,2, and 2.1. While
|
||||||
|
/// missing volume 3. With the external metadata expecting non-decimal volumes.
|
||||||
|
/// i.e. it would fail if we only had one decimal volume
|
||||||
|
/// </remarks>
|
||||||
[Fact]
|
[Fact]
|
||||||
public void IsSeriesCompleted_Volumes_TooManySpecials()
|
public void IsSeriesCompleted_Volumes_TooManyDecimalVolumes()
|
||||||
{
|
{
|
||||||
const string seriesName = "Test - Volume Complete";
|
const string seriesName = "Test - Volume Complete";
|
||||||
var series = new SeriesBuilder(seriesName)
|
var series = new SeriesBuilder(seriesName)
|
||||||
|
|
@ -975,7 +980,7 @@ public class ExternalMetadataServiceTests : AbstractDbTest
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
var chapters = new List<Chapter>();
|
var chapters = new List<Chapter>();
|
||||||
// External metadata includes no special. There are 3 volumes. And we're missing volume 3
|
// External metadata includes no special or decimals. There are 3 volumes. And we're missing volume 3
|
||||||
var externalMetadata = new ExternalSeriesDetailDto { Chapters = 0, Volumes = 3 };
|
var externalMetadata = new ExternalSeriesDetailDto { Chapters = 0, Volumes = 3 };
|
||||||
|
|
||||||
var result = ExternalMetadataService.IsSeriesCompleted(series, chapters, externalMetadata, 2);
|
var result = ExternalMetadataService.IsSeriesCompleted(series, chapters, externalMetadata, 2);
|
||||||
|
|
@ -986,12 +991,13 @@ public class ExternalMetadataServiceTests : AbstractDbTest
|
||||||
[Fact]
|
[Fact]
|
||||||
public void IsSeriesCompleted_NoVolumes_GEQChapterCheck()
|
public void IsSeriesCompleted_NoVolumes_GEQChapterCheck()
|
||||||
{
|
{
|
||||||
|
// We own 11 chapters, the external metadata expects 10
|
||||||
const string seriesName = "Test - Chapter MaxCount, no volumes";
|
const string seriesName = "Test - Chapter MaxCount, no volumes";
|
||||||
var series = new SeriesBuilder(seriesName)
|
var series = new SeriesBuilder(seriesName)
|
||||||
.WithLibraryId(1)
|
.WithLibraryId(1)
|
||||||
.WithMetadata(new SeriesMetadataBuilder()
|
.WithMetadata(new SeriesMetadataBuilder()
|
||||||
.WithMaxCount(10)
|
.WithMaxCount(11)
|
||||||
.WithTotalCount(8)
|
.WithTotalCount(10)
|
||||||
.Build())
|
.Build())
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
|
|
@ -1001,8 +1007,8 @@ public class ExternalMetadataServiceTests : AbstractDbTest
|
||||||
var result = ExternalMetadataService.IsSeriesCompleted(series, chapters, externalMetadata, Parser.DefaultChapterNumber);
|
var result = ExternalMetadataService.IsSeriesCompleted(series, chapters, externalMetadata, Parser.DefaultChapterNumber);
|
||||||
|
|
||||||
Assert.True(result);
|
Assert.True(result);
|
||||||
Assert.Equal(10, series.Metadata.TotalCount);
|
Assert.Equal(11, series.Metadata.TotalCount);
|
||||||
Assert.Equal(10, series.Metadata.MaxCount);
|
Assert.Equal(11, series.Metadata.MaxCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -1012,8 +1018,8 @@ public class ExternalMetadataServiceTests : AbstractDbTest
|
||||||
var series = new SeriesBuilder(seriesName)
|
var series = new SeriesBuilder(seriesName)
|
||||||
.WithLibraryId(1)
|
.WithLibraryId(1)
|
||||||
.WithMetadata(new SeriesMetadataBuilder()
|
.WithMetadata(new SeriesMetadataBuilder()
|
||||||
.WithMaxCount(8)
|
.WithMaxCount(7)
|
||||||
.WithTotalCount(5)
|
.WithTotalCount(10)
|
||||||
.Build())
|
.Build())
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,9 @@ public sealed record ExternalSeriesDetailDto
|
||||||
public DateTime? StartDate { get; set; }
|
public DateTime? StartDate { get; set; }
|
||||||
public DateTime? EndDate { get; set; }
|
public DateTime? EndDate { get; set; }
|
||||||
public int AverageScore { get; set; }
|
public int AverageScore { get; set; }
|
||||||
|
/// <remarks>AniList returns the total count of unique chapters, includes 1.1 for example</remarks>
|
||||||
public int Chapters { get; set; }
|
public int Chapters { get; set; }
|
||||||
|
/// <remarks>AniList returns the total count of unique volumes, includes 1.1 for example</remarks>
|
||||||
public int Volumes { get; set; }
|
public int Volumes { get; set; }
|
||||||
public IList<SeriesRelationship>? Relations { get; set; } = [];
|
public IList<SeriesRelationship>? Relations { get; set; } = [];
|
||||||
public IList<SeriesCharacter>? Characters { get; set; } = [];
|
public IList<SeriesCharacter>? Characters { get; set; } = [];
|
||||||
|
|
|
||||||
|
|
@ -1646,7 +1646,7 @@ public class ExternalMetadataService : IExternalMetadataService
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If volumes are collected, check if we reach the required volumes by including specials
|
// If volumes are collected, check if we reach the required volumes by including specials, and decimal volumes
|
||||||
//
|
//
|
||||||
// TODO BUG: If the series has specials, that are not included in the external count. But you do own them
|
// TODO BUG: If the series has specials, that are not included in the external count. But you do own them
|
||||||
// This may mark the series as completed pre-maturely
|
// This may mark the series as completed pre-maturely
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue