35 lines
1.2 KiB
JavaScript
35 lines
1.2 KiB
JavaScript
// @vitest-environment jsdom
|
|
import { beforeEach, describe, expect, it } from "vitest";
|
|
import {
|
|
LARGE_TABLE_HEADERS_BODY_CLASS,
|
|
LARGE_TABLE_HEADERS_STORAGE_KEY,
|
|
setUseLargeTableHeaders,
|
|
useLargeTableHeaders,
|
|
} from "@/services/tableHeaderPreferences.js";
|
|
|
|
describe("table header preferences", () => {
|
|
beforeEach(() => {
|
|
window.localStorage.removeItem(LARGE_TABLE_HEADERS_STORAGE_KEY);
|
|
setUseLargeTableHeaders(false);
|
|
});
|
|
|
|
it("uses compact table headers by default", () => {
|
|
expect(useLargeTableHeaders.value).toBe(false);
|
|
expect(document.body.classList.contains(LARGE_TABLE_HEADERS_BODY_CLASS)).toBe(false);
|
|
});
|
|
|
|
it("toggles the document class for large table headers", () => {
|
|
setUseLargeTableHeaders(true);
|
|
|
|
expect(window.localStorage.getItem(LARGE_TABLE_HEADERS_STORAGE_KEY)).toBe("true");
|
|
expect(useLargeTableHeaders.value).toBe(true);
|
|
expect(document.body.classList.contains(LARGE_TABLE_HEADERS_BODY_CLASS)).toBe(true);
|
|
|
|
setUseLargeTableHeaders(false);
|
|
|
|
expect(window.localStorage.getItem(LARGE_TABLE_HEADERS_STORAGE_KEY)).toBe("false");
|
|
expect(useLargeTableHeaders.value).toBe(false);
|
|
expect(document.body.classList.contains(LARGE_TABLE_HEADERS_BODY_CLASS)).toBe(false);
|
|
});
|
|
});
|