import { describe, expect, it } from "vitest"; import { parseProjectConfig } from "./parseProjectConfig"; import { serializeProjectConfig } from "./serializeProjectConfig"; describe("serializeProjectConfig", () => { it("round-trips tags", () => { const yaml = serializeProjectConfig({ tags: ["bug", "docs"], shownHiddenColumns: [], }); expect(yaml).toContain("bug"); expect(yaml).toContain("docs"); const parsed = parseProjectConfig(yaml); expect(parsed.isOk()).toBe(true); if (parsed.isErr()) return; expect(parsed.value.tags).toEqual(["bug", "docs"]); }); it("serializes empty tags", () => { const yaml = serializeProjectConfig({ tags: [], shownHiddenColumns: [] }); const parsed = parseProjectConfig(yaml); expect(parsed.isOk()).toBe(true); if (parsed.isErr()) return; expect(parsed.value.tags).toEqual([]); }); it("round-trips tags with shownHiddenColumns", () => { const yaml = serializeProjectConfig({ tags: ["bug"], shownHiddenColumns: ["backlog", "cancelled"], }); const parsed = parseProjectConfig(yaml); expect(parsed.isOk()).toBe(true); if (parsed.isErr()) return; expect(parsed.value.tags).toEqual(["bug"]); expect(parsed.value.shownHiddenColumns).toEqual(["backlog", "cancelled"]); }); it("serializes empty shownHiddenColumns", () => { const yaml = serializeProjectConfig({ tags: [], shownHiddenColumns: [], }); const parsed = parseProjectConfig(yaml); expect(parsed.isOk()).toBe(true); if (parsed.isErr()) return; expect(parsed.value.shownHiddenColumns).toEqual([]); }); });