| 1 | import { describe, expect, it } from "vite-plus/test"; |
| 2 | import { parseMarkdownDocument } from "../../lib/markdownDocument"; |
| 3 | import { pullRequestDescriptionContent } from "./pullRequestDescriptionContent"; |
| 4 | |
| 5 | describe("pull request description content", () => { |
| 6 | it("keeps screenshot attachments and does not turn code examples or local paths into media", () => { |
| 7 | const result = pullRequestDescriptionContent( |
| 8 | parseMarkdownDocument( |
| 9 | [ |
| 10 | "Fixes reconnects.", |
| 11 | "```markdown\n\n```", |
| 12 | "", |
| 13 | "", |
| 14 | "", |
| 15 | "", |
| 16 | ].join("\n\n"), |
| 17 | ), |
| 18 | ); |
| 19 | expect(result.attachments).toEqual([ |
| 20 | { uri: "https://example.com/before.png", caption: "Before", kind: "image" }, |
| 21 | { uri: "https://example.com/after.png", caption: "After", kind: "image" }, |
| 22 | ]); |
| 23 | expect(result.preview).toContain("Fixes reconnects."); |
| 24 | expect(result.preview).not.toContain("Duplicate"); |
| 25 | }); |
| 26 | |
| 27 | it("reads formatted prose and list items without leaking hidden HTML metadata", () => { |
| 28 | const result = pullRequestDescriptionContent( |
| 29 | parseMarkdownDocument( |
| 30 | "<!-- bot metadata -->\n\nKeeps **sessions**\nalive.\n\n- Reconnect\n- Restore output", |
| 31 | ), |
| 32 | ); |
| 33 | expect(result.preview).toBe("Keeps sessions\nalive.\nReconnect\n\nRestore output"); |
| 34 | }); |
| 35 | }); |