Skip to content

test(e2e): run a safe subset against a deployed URL (ENG-165) - #120

Merged
odanieldcs merged 1 commit into
mainfrom
feature/eng-165
Oct 13, 2026
Merged

odanieldcs merged 1 commit into
mainfrom
feature/eng-165

Conversation

@odanieldcs

Copy link
Copy Markdown
Owner

Summary

  • PLAYWRIGHT_BASE_URL points Playwright at a deployed origin, skips webServer, and runs one deployed project (Desktop Chrome) limited to smoke, redirects, metadata, SEO consistency, feed, and 404.
  • Without the variable, including an empty string, the local config is unchanged: http://127.0.0.1:3000, webServer, and the chromium / mobile / webkit projects. CI does not set the variable.
  • Specs that open a page abort us.i.posthog.com and us-assets.i.posthog.com only in the deployed project. analytics.spec.ts stays out of the subset.

Production run

PLAYWRIGHT_BASE_URL=https://danieldcs.com pnpm test:e2e — 43 passed (20.0s). Redirect Location headers already matched lib/redirects.ts exactly, so no normalization was needed. No app code changed.

Running 43 tests using 5 workers
  ✓   4 [deployed] › e2e/metadata.spec.ts:216:7 › /en serves localized metadata, canonical, and hreflang (498ms)
  ✓   2 [deployed] › e2e/metadata.spec.ts:216:7 › / serves localized metadata, canonical, and hreflang (515ms)
  ✓   6 [deployed] › e2e/metadata.spec.ts:216:7 › /community serves localized metadata, canonical, and hreflang (425ms)
  ✓   7 [deployed] › e2e/metadata.spec.ts:216:7 › /en/community serves localized metadata, canonical, and hreflang (488ms)
  ✓   3 [deployed] › e2e/metadata.spec.ts:216:7 › /en/blog serves localized metadata, canonical, and hreflang (1.3s)
  ✓   8 [deployed] › e2e/metadata.spec.ts:216:7 › /about serves localized metadata, canonical, and hreflang (435ms)
  ✓   9 [deployed] › e2e/metadata.spec.ts:216:7 › /en/about serves localized metadata, canonical, and hreflang (467ms)
  ✓   5 [deployed] › e2e/metadata.spec.ts:216:7 › /blog serves localized metadata, canonical, and hreflang (1.5s)
  ✓  10 [deployed] › e2e/metadata.spec.ts:298:7 › /trilha is noindex and emits no hreflang (412ms)
  ✓  11 [deployed] › e2e/metadata.spec.ts:298:7 › /en/trilha is noindex and emits no hreflang (425ms)
  ✓  13 [deployed] › e2e/metadata.spec.ts:316:5 › blog grid view keeps the path canonical (408ms)
  ✓  12 [deployed] › e2e/metadata.spec.ts:298:7 › /design-system is noindex and emits no hreflang (527ms)
  ✓  16 [deployed] › e2e/metadata.spec.ts:349:5 › a blog post exposes article metadata and a self canonical (140ms)
  ✓  14 [deployed] › e2e/metadata.spec.ts:323:5 › blog page 2 canonical includes the page and not the view (388ms)
  ✓  15 [deployed] › e2e/metadata.spec.ts:336:5 › english blog page 2 points hreflang back at the portuguese page (381ms)
  ✓  18 [deployed] › e2e/metadata.spec.ts:369:5 › home pages emit WebSite and Person JSON-LD with stable ids (268ms)
  ✓  20 [deployed] › e2e/metadata.spec.ts:412:5 › about pages emit AboutPage JSON-LD with stable Person @id (176ms)
  ✓  19 [deployed] › e2e/metadata.spec.ts:392:5 › blog posts emit BlogPosting JSON-LD with PT canonical url (419ms)
  ✓  17 [deployed] › e2e/metadata.spec.ts:359:5 › the /en blog post canonicalizes to the PT url with no hreflang (504ms)
  ✓  21 [deployed] › e2e/metadata.spec.ts:436:5 › excluded routes do not emit JSON-LD (678ms)
  ✓  24 [deployed] › e2e/not-found.spec.ts:12:7 › /blog/slug-inexistente renders the global 404 inside the PT site shell (665ms)
  ✓  22 [deployed] › e2e/not-found.spec.ts:12:7 › /qualquer renders the global 404 inside the PT site shell (842ms)
  ✓  23 [deployed] › e2e/not-found.spec.ts:12:7 › /en/qualquer renders the global 404 inside the PT site shell (667ms)
  ✓  28 [deployed] › e2e/redirects.spec.ts:72:7 › page number: /page/2 redirects in one hop (80ms)
  ✓  26 [deployed] › e2e/redirects.spec.ts:72:7 › post: /docker-introducao-e-primeiros-passos-para-devs redirects in one hop (82ms)
  ✓  27 [deployed] › e2e/redirects.spec.ts:72:7 › page: /sobre redirects in one hop (96ms)
  ✓  30 [deployed] › e2e/redirects.spec.ts:72:7 › category: /categoria/javascript redirects in one hop (84ms)
  ✓  29 [deployed] › e2e/redirects.spec.ts:72:7 › feed: /feed/atom redirects in one hop (88ms)
  ✓  31 [deployed] › e2e/redirects.spec.ts:72:7 › tag: /tag/javascript redirects in one hop (105ms)
  ✓  33 [deployed] › e2e/redirects.spec.ts:72:7 › temporary: /cursos redirects in one hop (81ms)
  ✓  32 [deployed] › e2e/redirects.spec.ts:72:7 › author: /author/daniel/page/2 redirects in one hop (92ms)
  ✓  34 [deployed] › e2e/redirects.spec.ts:72:7 › short link: /telegram redirects in one hop (85ms)
  ✓  25 [deployed] › e2e/not-found.spec.ts:12:7 › /en/blog/slug-inexistente renders the global 404 inside the PT site shell (471ms)
  ✓  36 [deployed] › e2e/redirects.spec.ts:83:5 › unknown legacy URL returns 404 (no catch-all to home) (90ms)
  ✓  35 [deployed] › e2e/redirects.spec.ts:72:7 › emoji old slug: /onde-encontrar-vagas-remota-no-exterior-usd-%f0%9f%a4%91 redirects in one hop (101ms)
  ✓  38 [deployed] › e2e/seo-consistency.spec.ts:210:5 › noindex routes and english post urls stay out of the sitemap (239ms)
  ✓  40 [deployed] › e2e/smoke.spec.ts:8:7 › webkit smoke › home shows the Portuguese H1 @smoke (474ms)
  ✓  39 [deployed] › e2e/smoke.spec.ts:18:7 › webkit smoke › blog shows the blog H1 @smoke (547ms)
  ✓  41 [deployed] › e2e/smoke.spec.ts:28:7 › webkit smoke › postgresql article shows its H1 @smoke (333ms)
  ✓  42 [deployed] › e2e/smoke.spec.ts:38:7 › webkit smoke › theme toggle switches the background @smoke (621ms)
  ✓  43 [deployed] › e2e/smoke.spec.ts:55:7 › webkit smoke › language switch goes to English and back @smoke (658ms)
  ✓   1 [deployed] › e2e/feed.spec.ts:12:5 › the rss feed is served and each guid is that post canonical (19.1s)
  ✓  37 [deployed] › e2e/seo-consistency.spec.ts:93:5 › every sitemap url is indexable and consistent across language signals (15.7s)

  43 passed (20.0s)

Test plan

  • pnpm lint, pnpm typecheck, pnpm test
  • pnpm test:e2e without PLAYWRIGHT_BASE_URL (273 passed, local webServer)
  • PLAYWRIGHT_BASE_URL=https://danieldcs.com pnpm test:e2e (43 passed, project deployed only)

@vercel

vercel Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
danieldcs-com Ready Ready Preview Oct 13, 2026 3:51pm UTC

@odanieldcs
odanieldcs merged commit ad47a36 into main Oct 13, 2026
8 checks passed
@odanieldcs
odanieldcs deleted the feature/eng-165 branch October 13, 2026 18:57

This branch was successfully deployed

1 active deployment
Preview — 034d9e67 Deployed Oct 13, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant