test(status-page): add Playwright PoC with landing page smoke test#2166
test(status-page): add Playwright PoC with landing page smoke test#2166omonicrown wants to merge 1 commit into
Conversation
|
@omonicrown is attempting to deploy a commit to the OpenStatus Team on Vercel. A member of the Team first needs to authorize it. |
There was a problem hiding this comment.
2 issues found across 5 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="apps/status-page/package.json">
<violation number="1" location="apps/status-page/package.json:81">
P2: `@playwright/test` is added with a range (`^1.60.0`) instead of an exact pinned version, violating the team's reproducible-dependency policy.</violation>
</file>
<file name="apps/status-page/playwright.config.ts">
<violation number="1" location="apps/status-page/playwright.config.ts:18">
P2: POSIX env syntax in Playwright webServer.command breaks on Windows; use webServer.env instead</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
Re-trigger cubic
086626f to
0911108
Compare
|
thanks for the pr, will have a closer look next week! |
|
@claude review |
|
Claude finished @mxkaske's task in 2m 19s —— View job Code Review
Overall: Well-scoped PoC. The framework choice (Playwright) and the target app ( Issues to fix1. Unpinned version — The existing project convention is exact versions for all devDependencies. - "@playwright/test": "^1.60.0",
+ "@playwright/test": "1.60.0",2. POSIX env syntax in
// before
command: `PORT=${PORT} pnpm dev`,
// after
command: "pnpm dev",
env: { PORT: String(PORT) },Observations (non-blocking)Lockfile churn is cosmetic: The 94+/155- diff in Reporter: Retries: The two fixes above are straightforward — the rest of the setup (config structure, gitignore entries, test scope) looks good. |
4b271e2 to
efc7bdc
Compare
|
Hello @mxkaske . Still awaiting your action. Thanks. |
|
Hey @omonicrown, apologies for the late response - we had a conference this week. The POC works. I wonder if we can add a few more things (either via stacked PR or within here directly):
Let me know if you have questions. |
…page Wires Playwright into the existing test.yml CI pipeline that already spins up sqld and seeds the DB. The smoke test navigates to /acme/en (a real status page from the seed data) and asserts the page returns 200 and renders the "Acme Inc." title — confirming the DB connection, tRPC query, and status-page render path all work end-to-end. Closes openstatusHQ#1610
efc7bdc to
eedf4b0
Compare
|
Hello @mxkaske . Thanks for the feedback! Updated in the latest push: 1.) Test now hits /acme/en (the seeded Acme Inc. status page) instead of the Theme Explorer To run locally: start turso dev and seed the DB first (same steps as the existing unit tests), then pnpm e2e from apps/status-page. |
Refs #1610.
PoC for the E2E framework discussion in #1610. Adds Playwright with a single passing smoke test in
apps/status-pageso the framework choice can be approved or rejected before any wider investment.Why this scope
apps/status-pageoverapps/web: per @mxkaske's note in E2E Testing for Dashboard, Web and Status Page #1610 ("the critical app is the status page").Files
apps/status-page/playwright.config.ts— chromium-only,webServerbootspnpm devon port 3003,reuseExistingServerlocallyapps/status-page/e2e/smoke.spec.ts— navigates to/, asserts title matches/Status Page/apps/status-page/package.json—@playwright/testdevDep +"e2e": "playwright test"scriptapps/status-page/.gitignore— Playwright artifact dirsHow to verify