Summary
Issue #451 reported that automatic additions from series monitoring stored paths at {Author}/{Series} instead of {Author}/{Series}/{Title}. The current LibraryAddService assigns BasePath before persistence, so this PR adds end-to-end regression coverage for the original scenario and prevents the title folder from being lost again.
This branch also rolls the dependency refresh into the PR, including the latest compatible npm and NuGet versions, and stabilizes the frontend pre-push suite after the dependency/tooling updates.
Changes
- Move
SeriesMonitoringServiceTestsintotests/Features/Application/Audiobooksso it mirrors the application service under test. - Refactor the existing series-monitoring test to use the shared
BaseTestsframework, repository helpers, builders, DI overrides, and DI-resolvedISeriesMonitoringServiceinstead of hand-wiringDbContext, repositories, logger, and service instances. - Add an integration regression test using the real
SeriesMonitoringServiceandLibraryAddServicewith the reported{Author}/{Series}/{Title}folder naming pattern. - Assert the stored audiobook
BasePathincludes the title directory after a monitored-series sync. - Update root npm dependencies to the latest compatible versions, including
concurrentlyandwait-on. - Update frontend runtime/tooling dependencies and lockfile to the latest compatible versions, including Vue, Pinia, Vue Router, VueUse, Vite, Vitest, vue-tsc, ESLint Vue tooling, and related type/tooling packages.
- Update Discord bot dependencies and lockfile, including
discord.js. - Update central NuGet package versions to the latest compatible versions, including the .NET 10.0.8 package line,
Microsoft.NET.Test.Sdk18.6.0,coverlet.collector10.0.1,Swashbuckle.AspNetCore10.2.1, andSQLitePCLRaw.bundle_e_sqlite33.0.3. - Keep
SixLabors.ImageSharpon 3.1.12 because 4.0.0 requires a Six Labors license file/key and fails the build without one.
-...
Automated Canary build