Files
silo-server/web/src/lib/metadataLanguagePreferences.test.ts
T
QuickandGitHub 73488d1bfa feat(metadata): add original-language preferences (#526)
* feat(metadata): add original-language preferences

* fix(settings): show metadata exceptions immediately

* docs(settings): add metadata language screenshot

* fix(settings): make language exceptions responsive

* fix(settings): standardize language display names
2026-07-31 15:23:30 -04:00

31 lines
1.0 KiB
TypeScript

import { describe, expect, it } from "vitest";
import {
ORIGINAL_METADATA_LANGUAGE,
normalizeMetadataLanguageOverrides,
withMetadataLanguageOverride,
withoutMetadataLanguageOverride,
} from "./metadataLanguagePreferences";
describe("metadata language preferences", () => {
it("normalizes source aliases and drops malformed cached entries", () => {
expect(
normalizeMetadataLanguageOverrides({
nor: ORIGINAL_METADATA_LANGUAGE,
JA: "en",
invalid_language: "fr",
de: 42,
}),
).toEqual({ no: ORIGINAL_METADATA_LANGUAGE, ja: "en" });
});
it("adds and removes one original-language exception without mutating the input", () => {
const initial = { ja: "en" };
const added = withMetadataLanguageOverride(initial, "nor", ORIGINAL_METADATA_LANGUAGE);
expect(added).toEqual({ ja: "en", no: ORIGINAL_METADATA_LANGUAGE });
expect(initial).toEqual({ ja: "en" });
expect(withoutMetadataLanguageOverride(added, "no")).toEqual({ ja: "en" });
});
});