import { experimental_AstroContainer as AstroContainer } from "astro/container" import { beforeEach, describe, expect, it } from "vitest" import ButtonCard from "~/components/download/ButtonCard.astro" describe("", () => { let container: Awaited> beforeEach(async () => { container = await AstroContainer.create() }) it("renders with required props", async () => { const result = await container.renderToString(ButtonCard, { props: { label: "Download", href: "/download", }, }) expect(result).toContain("Download") expect(result).toContain('href="/download"') expect(result).not.toContain("Show SHA-256") }) it("renders with checksum", async () => { const result = await container.renderToString(ButtonCard, { props: { label: "Download", href: "/download", checksum: "sha256sum", }, }) expect(result).toContain("Show SHA-256") expect(result).toContain("sha256sum") expect(result).toContain("Copy") }) it("renders with variant", async () => { const result = await container.renderToString(ButtonCard, { props: { label: "Download", href: "/download", variant: "flathub", }, }) expect(result).toContain("Download") expect(result).toContain("Beta") }) })