Files
silo-server/web/src/lib/querySortOptions.test.ts
T

38 lines
1.2 KiB
TypeScript
Raw Normal View History

import { describe, expect, it } from "vitest";
import { getQuerySortOptions } from "./querySortOptions";
describe("getQuerySortOptions", () => {
it("allows ebook book-native sorts without enabling narrator", () => {
const fields = getQuerySortOptions({ relevanceScope: "ebook" }).map((option) => option.value);
expect(fields).toContain("author");
expect(fields).toContain("series");
expect(fields).not.toContain("narrator");
});
it("uses reading labels for ebook personalized sorts", () => {
const labelsByField = new Map(
getQuerySortOptions({ includePersonalized: true, relevanceScope: "ebook" }).map((option) => [
option.value,
option.label,
]),
);
expect(labelsByField.get("date_viewed")).toBe("Date Read");
expect(labelsByField.get("plays")).toBe("Reads");
});
it("keeps video labels for movie personalized sorts", () => {
const labelsByField = new Map(
getQuerySortOptions({ includePersonalized: true, relevanceScope: "movie" }).map((option) => [
option.value,
option.label,
]),
);
expect(labelsByField.get("date_viewed")).toBe("Date Viewed");
expect(labelsByField.get("plays")).toBe("Plays");
});
});