From bf7de2a37cc5e8e407f35d528298fe9333195916 Mon Sep 17 00:00:00 2001 From: Michael Thomas Date: Sun, 12 Jul 2026 15:10:29 -0400 Subject: [PATCH] test: add scanner update rate override for testing --- server/lib/scanners/baseScanner.ts | 16 ++++++++++++++-- server/lib/scanners/jellyfin/jellyfin.test.ts | 2 ++ server/lib/scanners/radarr/radarr.test.ts | 1 + server/lib/scanners/sonarr/sonarr.test.ts | 1 + 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/server/lib/scanners/baseScanner.ts b/server/lib/scanners/baseScanner.ts index 2547b7a1d8..4cfd278230 100644 --- a/server/lib/scanners/baseScanner.ts +++ b/server/lib/scanners/baseScanner.ts @@ -59,8 +59,8 @@ export interface ProcessableSeason { } class BaseScanner { - private bundleSize; - private updateRate; + protected bundleSize; + protected updateRate; protected progress = 0; protected items: T[] = []; protected totalSize?: number = 0; @@ -792,6 +792,18 @@ class BaseScanner { get protectedBundleSize(): number { return this.bundleSize; } + + /** + * Test-only override to reduce scan delay in unit tests. + * Sets updateRate and/or bundleSize for the next run. + */ + public setTestOverrides(opts: { + updateRate?: number; + bundleSize?: number; + }): void { + if (opts.updateRate !== undefined) this.updateRate = opts.updateRate; + if (opts.bundleSize !== undefined) this.bundleSize = opts.bundleSize; + } } export default BaseScanner; diff --git a/server/lib/scanners/jellyfin/jellyfin.test.ts b/server/lib/scanners/jellyfin/jellyfin.test.ts index 51f97d09a8..a0da51c959 100644 --- a/server/lib/scanners/jellyfin/jellyfin.test.ts +++ b/server/lib/scanners/jellyfin/jellyfin.test.ts @@ -223,6 +223,8 @@ function configureJellyfinWithLibrary( describe('Jellyfin Scanner', () => { beforeEach(async () => { + jellyfinFullScanner.setTestOverrides({ updateRate: 0 }); + getLibraryContentsImpl = async () => []; getItemDataImpl = async () => undefined; getSeasonsImpl = async () => []; diff --git a/server/lib/scanners/radarr/radarr.test.ts b/server/lib/scanners/radarr/radarr.test.ts index 7faeed97f1..e4c1fe63b2 100644 --- a/server/lib/scanners/radarr/radarr.test.ts +++ b/server/lib/scanners/radarr/radarr.test.ts @@ -75,6 +75,7 @@ function fakeRadarrMovie(overrides: Partial = {}): RadarrMovie { describe('Radarr Scanner', () => { beforeEach(() => { + radarrScanner.setTestOverrides({ updateRate: 0 }); getMoviesImpl = async () => []; }); diff --git a/server/lib/scanners/sonarr/sonarr.test.ts b/server/lib/scanners/sonarr/sonarr.test.ts index e012c979eb..e023c17405 100644 --- a/server/lib/scanners/sonarr/sonarr.test.ts +++ b/server/lib/scanners/sonarr/sonarr.test.ts @@ -163,6 +163,7 @@ function configureSonarr(overrides: Partial[] = [{}]): void { describe('Sonarr Scanner', () => { beforeEach(() => { + sonarrScanner.setTestOverrides({ updateRate: 0 }); getSeriesImpl = async () => []; getShowByTvdbIdImpl = async () => fakeTmdbShow(1); getTvShowImpl = async () => fakeTmdbShow(1);