Progress Overhaul + Profile Page and a LOT more! (#4262)

Co-authored-by: Amelia <77553571+Fesaa@users.noreply.github.com>
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
This commit is contained in:
Joe Milazzo
2025-12-09 10:00:11 -07:00
committed by GitHub
parent 4ac13f1f25
commit 9f29fa593d
645 changed files with 25585 additions and 4805 deletions
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using API.Entities;
using API.Entities.Enums;
using API.Extensions;
@@ -12,7 +12,7 @@ public class EncodeFormatExtensionsTests
[Fact]
public void GetExtension_ShouldReturnCorrectExtensionForAllValues()
{
// Arrange
var expectedExtensions = new Dictionary<EncodeFormat, string>
{
{ EncodeFormat.PNG, ".png" },
@@ -6,6 +6,7 @@ using API.Entities.Enums;
using API.Entities.Enums.UserPreferences;
using API.Entities.Metadata;
using API.Entities.Person;
using API.Entities.User;
using API.Extensions.QueryExtensions;
using API.Helpers.Builders;
using Xunit;
@@ -135,7 +136,7 @@ public class QueryableExtensionsTests
public void RestrictAgainstAgeRestriction_Person_ShouldRestrictEverythingAboveTeen(bool includeUnknowns,
int expectedPeopleCount)
{
// Arrange
var items = new List<Person>
{
CreatePersonWithSeriesMetadata("Test1", AgeRating.Teen),
+6 -3
View File
@@ -12,12 +12,12 @@ using API.Extensions.QueryExtensions.Filtering;
using API.Helpers.Builders;
using API.Services;
using API.Services.Plus;
using API.Services.Reading;
using API.SignalR;
using Kavita.Common;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using NSubstitute;
using Polly;
using Xunit;
using Xunit.Abstractions;
@@ -59,7 +59,8 @@ public class SeriesFilterTests(ITestOutputHelper outputHelper): AbstractDbTest(o
// Create read progress on Partial and Full
var readerService = new ReaderService(unitOfWork, Substitute.For<ILogger<ReaderService>>(),
Substitute.For<IEventHub>(), Substitute.For<IImageService>(),
Substitute.For<IDirectoryService>(), Substitute.For<IScrobblingService>());
Substitute.For<IDirectoryService>(), Substitute.For<IScrobblingService>(),
Substitute.For<IReadingSessionService>(), Substitute.For<IClientInfoAccessor>());
// Select Partial and set pages read to 5 on first chapter
var partialSeries = await unitOfWork.SeriesRepository.GetSeriesByIdAsync(2);
@@ -199,7 +200,9 @@ public class SeriesFilterTests(ITestOutputHelper outputHelper): AbstractDbTest(o
var readerService = new ReaderService(unitOfWork, Substitute.For<ILogger<ReaderService>>(),
Substitute.For<IEventHub>(), Substitute.For<IImageService>(),
Substitute.For<IDirectoryService>(), Substitute.For<IScrobblingService>());
Substitute.For<IDirectoryService>(),
Substitute.For<IScrobblingService>(),
Substitute.For<IReadingSessionService>(), Substitute.For<IClientInfoAccessor>());
// Set progress to 99.99% (99/100 pages read)
var series = await unitOfWork.SeriesRepository.GetSeriesByIdAsync(1);
@@ -9,7 +9,7 @@ public class VersionHelperTests
[Fact]
public void CompareWithoutRevision_ShouldReturnTrue_WhenMajorMinorBuildMatch()
{
// Arrange
var v1 = new Version(1, 2, 3, 4);
var v2 = new Version(1, 2, 3, 5);
@@ -23,7 +23,7 @@ public class VersionHelperTests
[Fact]
public void CompareWithoutRevision_ShouldHandleBuildlessVersions()
{
// Arrange
var v1 = new Version(1, 2);
var v2 = new Version(1, 2);