mirror of
https://github.com/multipleof4/ntfy.git
synced 2026-10-15 07:57:54 +00:00
Date / time format
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
import { Prefs, DATE_FORMAT, TIME_FORMAT, PREF_DEFAULTS } from "./Prefs";
|
||||
|
||||
// The module instantiates `new Prefs(db())` at import; stub db() so that doesn't touch IndexedDB.
|
||||
vi.mock("./db", () => ({ default: () => ({}) }));
|
||||
|
||||
// Minimal fake of the Dexie `prefs` table: get() returns a stored {key, value} or undefined.
|
||||
const fakeDb = (stored) => ({
|
||||
prefs: {
|
||||
get: async (key) => (key in stored ? { key, value: stored[key] } : undefined),
|
||||
put: async () => {},
|
||||
},
|
||||
});
|
||||
|
||||
describe("Prefs date/time format validation", () => {
|
||||
it("returns the stored value when it is a known format", async () => {
|
||||
const prefs = new Prefs(fakeDb({ dateFormat: DATE_FORMAT.ISO8601, timeFormat: TIME_FORMAT.H24 }));
|
||||
expect(await prefs.dateFormat()).toBe(DATE_FORMAT.ISO8601);
|
||||
expect(await prefs.timeFormat()).toBe(TIME_FORMAT.H24);
|
||||
});
|
||||
|
||||
it("falls back to the default for an unknown stored value (e.g. synced from a newer client)", async () => {
|
||||
const prefs = new Prefs(fakeDb({ dateFormat: "newer-client-format", timeFormat: "36h" }));
|
||||
expect(await prefs.dateFormat()).toBe(PREF_DEFAULTS.dateFormat);
|
||||
expect(await prefs.timeFormat()).toBe(PREF_DEFAULTS.timeFormat);
|
||||
});
|
||||
|
||||
it("falls back to the default when unset", async () => {
|
||||
const prefs = new Prefs(fakeDb({}));
|
||||
expect(await prefs.dateFormat()).toBe(PREF_DEFAULTS.dateFormat);
|
||||
expect(await prefs.timeFormat()).toBe(PREF_DEFAULTS.timeFormat);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user