Skip to content
File

Blob: tests/e2e/rendering.spec.ts

typescript38 lines
1import { expect, test } from "playwright/test";
2import {
3 addDomain,
4 createTemporaryInbox,
5 makeDomainName,
6 openEmail,
7 sendLocalEmail,
8 signInAdmin,
9 stubTurnstile,
10} from "./helpers";
11 
12test("@smoke blocks remote email content by default and rewrites external links", async ({ page }) => {
13 const domain = makeDomainName("rendering");
14 const subject = `Rendering smoke ${Date.now()}`;
15 
16 await stubTurnstile(page);
17 await signInAdmin(page);
18 await addDomain(page, domain);
19 
20 const address = await createTemporaryInbox(page, domain);
21 
22 await sendLocalEmail({
23 to: address,
24 subject,
25 htmlRemoteTest: true,
26 });
27 
28 await openEmail(page, subject);
29 
30 const emailFrame = page.frameLocator('iframe[title^="Email "]');
31 await expect(page.getByRole("button", { name: "Load remote content" })).toBeVisible();
32 await expect(emailFrame.getByText("Remote image blocked: Remote inline image")).toBeVisible();
33 await expect(emailFrame.getByRole("link", { name: "Open Cloudflare Docs" })).toHaveAttribute(
34 "href",
35 /\/link\?url=https%3A%2F%2Fdevelopers\.cloudflare\.com%2F/,
36 );
37});