import "../setup.ts"; import { assertFalse, assertStringIncludes } from "@std/assert"; import { renderWelcomeEmail } from "../../mail/welcome.ts"; import { renderPasswordResetEmail } from "../../mail/password-reset.ts"; Deno.test("renderWelcomeEmail: fills the built-in body, in both parts", () => { const email = renderWelcomeEmail("newbie"); assertStringIncludes(email.subject, "Welcome to gerbeur"); assertStringIncludes(email.text, "Hi **newbie**"); assertFalse(email.text.includes("{{")); assertStringIncludes(email.html, "newbie"); assertStringIncludes(email.html, "Welcome to gerbeur!"); }); Deno.test("renderPasswordResetEmail: the button and the raw link carry the URL", () => { const url = "http://gerbeur.test/reset-password?token=a.b&x="; const email = renderPasswordResetEmail("bob", url, 1); assertStringIncludes(email.text, url); assertStringIncludes(email.text, "for 1 hour"); assertStringIncludes( email.html, `href="http://gerbeur.test/reset-password?token=a.b&x=<y>"`, ); assertFalse(email.html.includes("")); });