import { WORKSPACE_SECTIONS, workspaceSection, workspaceSubsection } from "./applicationWorkspace"; test("workspace navigation exposes seven purposes and preserves legacy links", () => { expect(WORKSPACE_SECTIONS.map((section) => section.key)).toEqual([ "overview", "match", "application", "documents", "timeline", "tasks", "interview", ]); expect(workspaceSection("analysis")).toBe("match"); expect(workspaceSection("portfolio")).toBe("documents"); expect(workspaceSection("notes")).toBe("tasks"); expect(workspaceSection("checklist")).toBe("tasks"); expect(workspaceSection("communication")).toBe("timeline"); expect(workspaceSection("cv")).toBe("application"); expect(workspaceSection("cover-letter")).toBe("application"); expect(workspaceSection("job-details")).toBe("overview"); expect(workspaceSection("unknown-section")).toBe("overview"); expect(workspaceSection("constructor")).toBe("overview"); expect(workspaceSection("__proto__")).toBe("overview"); }); test("legacy material and correspondence links reveal their original owner without rewriting URLs", () => { expect(workspaceSubsection("cv", "submission")).toBe("cv"); expect(workspaceSubsection("cover-letter", null)).toBe("letter"); expect(workspaceSubsection("communication", "activity")).toBe("correspondence"); expect(workspaceSubsection("timeline", null)).toBe("activity"); }); test("canonical subsection URLs are durable and unknown inputs have safe defaults", () => { for (const sub of ["cv", "letter", "answers", "submission"]) expect(workspaceSubsection("application", sub)).toBe(sub); expect(workspaceSubsection("timeline", "correspondence")).toBe("correspondence"); for (const sub of [null, "unknown", "constructor", "__proto__"]) { expect(workspaceSubsection("application", sub)).toBe("cv"); expect(workspaceSubsection("timeline", sub)).toBe("activity"); } });