35 lines
1007 B
TypeScript
35 lines
1007 B
TypeScript
import { describe, expect, test } from "vitest";
|
|
|
|
import { parseColumnOrder, parseColumnWidths } from "../common/use-persisted-table-layout";
|
|
|
|
const columnAccessors = ["name", "cpu", "memory", "disk", "temp"];
|
|
|
|
describe("Beszel table column layout options", () => {
|
|
test("ignores malformed column layout JSON", () => {
|
|
expect(parseColumnOrder("{", columnAccessors)).toEqual([]);
|
|
expect(parseColumnWidths("[]", columnAccessors)).toEqual({});
|
|
});
|
|
|
|
test("removes stale and duplicate column accessors", () => {
|
|
expect(parseColumnOrder(JSON.stringify(["memory", "removed", "cpu", "memory"]), columnAccessors)).toEqual([
|
|
"memory",
|
|
"cpu",
|
|
]);
|
|
});
|
|
|
|
test("keeps only finite positive widths for known columns", () => {
|
|
expect(
|
|
parseColumnWidths(
|
|
JSON.stringify({
|
|
cpu: 140,
|
|
memory: -1,
|
|
disk: "160px",
|
|
removed: 100,
|
|
temp: null,
|
|
}),
|
|
columnAccessors,
|
|
),
|
|
).toEqual({ cpu: 140 });
|
|
});
|
|
});
|