import { expect, test } from "bun:test"; import { createElement } from "react"; import { renderToStaticMarkup } from "react-dom/server"; import { QuestionnaireCard } from "./questionnaire"; import { DECIDED, META } from "./questionnaire-metadata.test-fixtures"; test("a discarded record retires an old answer without labelling it a cancellation", () => { let markup = renderToStaticMarkup(createElement(QuestionnaireCard, { presentation: "list", canEdit: true, connected: true, meta: { ...META, status: "discarded", resolver: "bea" }, value: DECIDED, wire: { ask: async () => ({ ok: true }) } as never, })); expect(markup).toContain('data-plan-sidecar-questionnaire="w"'); expect(markup).toContain("Discarded"); expect(markup).toContain("@bea"); expect(markup).not.toMatch(/cancelled/i); expect(markup).not.toContain("Answered by"); expect(markup).not.toContain("@ana"); expect(markup).not.toContain("GitHub Apps"); expect(markup).not.toContain("Reopen<"); expect(markup).not.toContain(">Discard<"); }); test("a discarded document fallback preserves its card identity and provenance", () => { let markup = renderToStaticMarkup(createElement(QuestionnaireCard, { presentation: "list", canEdit: false, value: { ...DECIDED, status: "discarded" }, })); expect(markup).toContain('data-plan-sidecar-questionnaire="w"'); expect(markup).toContain("Discarded by"); expect(markup).toContain("@ana"); expect(markup).not.toMatch(/cancelled/i); expect(markup).not.toContain("Answered by"); expect(markup).not.toContain(" { let markup = renderToStaticMarkup(createElement(QuestionnaireCard, { meta: { ...META, status: "discarded", resolver: "bea" }, value: DECIDED, })); expect(markup).toContain('data-plan-sidecar-questionnaire="w"'); expect(markup).toContain('data-card-hidden=""'); expect(markup).toContain('hidden=""'); expect(markup).not.toContain("GitHub Apps"); expect(markup).not.toContain("