// Test helpers and utilities export const createSampleProject = () => ({ name: "Test Project", description: "A test project for unit testing", dataSource: "test.csv", stylesheet: "test.css", svgTemplate: "test.svg", settings: { timelineMonths: 12 }, fieldMapping: { id: "ID", title: "Title", lane: "Lane", due: ["Due"] } }) export const createSampleItems = () => [ { id: "T-1", title: "First Task", lane: "Development", due: new Date("2025-01-15") }, { id: "T-2", title: "Second Task", lane: "Testing", due: new Date("2025-02-20") }, { id: "T-3", title: "Third Task", lane: "Development", due: new Date("2025-03-10") } ] export const createSampleCSV = () => `ID,Title,Lane,Due T-1,First Task,Development,2025-01-15 T-2,Second Task,Testing,2025-02-20 T-3,Third Task,Development,2025-03-10` export const createSampleTemplate = () => ` {{MONTHS}} {{LANES}} ` export const mockFetch = (data, ok = true) => { global.fetch.mockResolvedValueOnce({ ok, json: () => Promise.resolve(data), text: () => Promise.resolve(typeof data === 'string' ? data : JSON.stringify(data)) }) } export const expectElementToHaveText = (selector, text) => { const element = document.querySelector(selector) expect(element).toBeTruthy() expect(element.textContent).toContain(text) } export const expectSVGToContain = (selector, expectedContent) => { const svg = document.querySelector(selector) expect(svg).toBeTruthy() expect(svg.outerHTML).toContain(expectedContent) }