diff --git a/src/__tests__/billing-templates.test.ts b/src/__tests__/billing-templates.test.ts
new file mode 100644
index 0000000..377e441
--- /dev/null
+++ b/src/__tests__/billing-templates.test.ts
@@ -0,0 +1,64 @@
+import { describe, it, expect } from "vitest";
+import { renderSuccessPage, renderAlreadyProvisionedPage } from "../utils/billing-templates.js";
+
+describe("billing-templates", () => {
+ describe("renderSuccessPage", () => {
+ it("includes the API key in the output", () => {
+ const html = renderSuccessPage("df_pro_abc123");
+ expect(html).toContain("df_pro_abc123");
+ });
+
+ it("escapes HTML in the API key", () => {
+ const html = renderSuccessPage('');
+ expect(html).not.toContain("
-