test(api): every filter key the client sends is one the backend reads
FastAPI ignores an unknown query parameter, so a misspelt or renamed key silently stops a filter while its chip still shows. Contract tests read routes/feed.py _feed_params and plex/query.py LibraryFilters. The superseded feedCount/facets calls and keys are removed.
This commit is contained in:
@@ -6,7 +6,7 @@ import type { FeedFilters } from "./api";
|
||||
// SAME array shape the call sites used before, so TanStack's partial (prefix) matching is
|
||||
// unchanged — `qk.feed()` (`["feed"]`) still invalidates `qk.feed(filters)` (`["feed", filters]`).
|
||||
// Deliberately NOT bundling co-invalidations into helpers here: the clusters differ per call site
|
||||
// (some invalidate `feed` alone, others `feed` + `feed-count`), so collapsing them would change
|
||||
// (some invalidate `feed` alone, others `feed` + `feed-summary`), so collapsing them would change
|
||||
// which queries refetch. Grouped invalidation stays opt-in per domain (see `invalidateDownloads`).
|
||||
// Extended per domain as R7 S2 migrates each area (S2a: feed/channels/playlists + shared roots).
|
||||
export const qk = {
|
||||
@@ -26,10 +26,6 @@ export const qk = {
|
||||
// silently collapsed to the prefix.
|
||||
feed: (filters?: FeedFilters) =>
|
||||
filters !== undefined ? (["feed", filters] as const) : (["feed"] as const),
|
||||
feedCount: (filters?: FeedFilters) =>
|
||||
filters !== undefined ? (["feed-count", filters] as const) : (["feed-count"] as const),
|
||||
facets: (filters?: FeedFilters) =>
|
||||
filters !== undefined ? (["facets", filters] as const) : (["facets"] as const),
|
||||
feedSummary: (filters?: FeedFilters) =>
|
||||
filters !== undefined ? (["feed-summary", filters] as const) : (["feed-summary"] as const),
|
||||
feedYears: (filters?: FeedFilters) =>
|
||||
|
||||
Reference in New Issue
Block a user