34 lines
1.0 KiB
TypeScript
34 lines
1.0 KiB
TypeScript
import { describe, expect, test } from "vitest";
|
|
|
|
import { parseColumnOrder, parseColumnWidths } from "../common/use-persisted-table-layout";
|
|
|
|
const columnAccessors = ["name", "state", "host", "cpuUsage", "memoryUsage", "actions"];
|
|
|
|
describe("Docker 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(["memoryUsage", "removed", "name", "memoryUsage"]), columnAccessors),
|
|
).toEqual(["memoryUsage", "name"]);
|
|
});
|
|
|
|
test("keeps only finite positive widths for known columns", () => {
|
|
expect(
|
|
parseColumnWidths(
|
|
JSON.stringify({
|
|
name: 180,
|
|
state: -1,
|
|
host: "120px",
|
|
removed: 100,
|
|
actions: null,
|
|
}),
|
|
columnAccessors,
|
|
),
|
|
).toEqual({ name: 180 });
|
|
});
|
|
});
|