/
oriono
/
lex
Обзор
Документация
Войти
/
oriono
/
lex
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
client/src/data/settingsRepository.test.ts
61 строка
2 KB
abo
feat(themes): replace accent colors with 7 full color skins
30 июл 2026, 01:10
30 июл 2026, 01:10
e670849
Код
Авторство
О чём код?
import { beforeEach, describe, expect, it } from "vitest"; import { db } from "./db"; import { getSettings, saveSettings } from "./settingsRepository"; import { DEFAULT_LANGUAGE_SETTINGS } from "@/types"; beforeEach(async () => { await db.settings.clear(); }); describe("getSettings", () => { it("returns defaults when no settings stored", async () => { const settings = await getSettings(); expect(settings).toEqual(DEFAULT_LANGUAGE_SETTINGS); }); it("returns stored settings", async () => { await saveSettings({ source_lang: "en", target_lang: "de", locale: "ru" }); const settings = await getSettings(); expect(settings.source_lang).toBe("en"); expect(settings.target_lang).toBe("de"); expect(settings.locale).toBe("ru"); }); }); describe("saveSettings", () => { it("creates settings row on first save", async () => { await saveSettings({ target_lang: "fr" }); const settings = await getSettings(); expect(settings.target_lang).toBe("fr"); // Other fields keep defaults expect(settings.source_lang).toBe(DEFAULT_LANGUAGE_SETTINGS.source_lang); expect(settings.locale).toBe(DEFAULT_LANGUAGE_SETTINGS.locale); }); it("merges partial updates without losing existing fields", async () => { await saveSettings({ source_lang: "en", target_lang: "de", locale: "ru" }); await saveSettings({ target_lang: "fr" }); const settings = await getSettings(); expect(settings.source_lang).toBe("en"); expect(settings.target_lang).toBe("fr"); expect(settings.locale).toBe("ru"); }); it("saves and restores theme preference", async () => { await saveSettings({ theme: "dark" }); const settings = await getSettings(); expect(settings.theme).toBe("dark"); }); it("saves and restores skin preference", async () => { await saveSettings({ skin: "ocean" }); const settings = await getSettings(); expect(settings.skin).toBe("ocean"); }); });