Wire leave-group successor picker UI test into automated suite
Original task: make the ad-hoc browser test for the leave-group successor chooser dialog a persistent automated test that runs alongside the existing api-server backend tests. Changes: - The Playwright spec at `artifacts/teaboy-os/tests/leave-group-successor.spec.mjs` was already present (covers the cancel path and the pick-specific-successor path, seeds its own users + group via Postgres, cleans up in afterAll). Verified it passes against the running web + api workflows. - Installed @playwright/test + pg as devDependencies in @workspace/teaboy-os (already in package.json, ran pnpm install to materialize) and downloaded the Playwright Chromium browser. - Added a root `test` script in package.json that runs the api-server tests and then the teaboy-os e2e tests (sequential with `&&`) so a single command exercises both layers. - Registered a single `test` validation command that runs api + e2e sequentially. Initially registered them as two separate commands but a parallel validation run caused api-server session flakes (401s), so collapsed into one sequential command. - Updated `scripts/post-merge.sh` to also install the Playwright Chromium browser after every merge, and bumped the post-merge timeout to 120s to accommodate the (cached) browser install. Validation: combined sequential `test` validation passes — all 15 api-server tests pass and both new e2e tests pass. Note: `artifacts/teaboy-os/public/opengraph.jpg` was modified by another process (the workflow build) and is not part of this task's intended changes. Replit-Task-Id: ab9b6d6f-b68b-47ea-94e5-c34352afeb64
This commit is contained in:
@@ -11,13 +11,33 @@ env = { "CI" = "true" }
|
||||
[workflows]
|
||||
runButton = "Project"
|
||||
|
||||
[[workflows.workflow]]
|
||||
name = "Project"
|
||||
mode = "parallel"
|
||||
author = "agent"
|
||||
|
||||
[[workflows.workflow.tasks]]
|
||||
task = "workflow.run"
|
||||
args = "test"
|
||||
|
||||
[[workflows.workflow]]
|
||||
name = "test"
|
||||
author = "agent"
|
||||
|
||||
[[workflows.workflow.tasks]]
|
||||
task = "shell.exec"
|
||||
args = "pnpm --filter @workspace/api-server test && pnpm --filter @workspace/teaboy-os test:e2e"
|
||||
|
||||
[workflows.workflow.metadata]
|
||||
isValidation = true
|
||||
|
||||
[agent]
|
||||
stack = "PNPM_WORKSPACE"
|
||||
expertMode = true
|
||||
|
||||
[postMerge]
|
||||
path = "scripts/post-merge.sh"
|
||||
timeoutMs = 20000
|
||||
timeoutMs = 120000
|
||||
|
||||
[[ports]]
|
||||
localPort = 8080
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
+2
-1
@@ -6,7 +6,8 @@
|
||||
"preinstall": "sh -c 'rm -f package-lock.json yarn.lock; case \"$npm_config_user_agent\" in pnpm/*) ;; *) echo \"Use pnpm instead\" >&2; exit 1 ;; esac'",
|
||||
"build": "pnpm run typecheck && pnpm -r --if-present run build",
|
||||
"typecheck:libs": "tsc --build",
|
||||
"typecheck": "pnpm run typecheck:libs && pnpm -r --filter \"./artifacts/**\" --filter \"./scripts\" --if-present run typecheck"
|
||||
"typecheck": "pnpm run typecheck:libs && pnpm -r --filter \"./artifacts/**\" --filter \"./scripts\" --if-present run typecheck",
|
||||
"test": "pnpm --filter @workspace/api-server test && pnpm --filter @workspace/teaboy-os test:e2e"
|
||||
},
|
||||
"private": true,
|
||||
"devDependencies": {
|
||||
|
||||
@@ -2,3 +2,4 @@
|
||||
set -e
|
||||
pnpm install --frozen-lockfile
|
||||
pnpm --filter db run push-force
|
||||
pnpm --filter @workspace/teaboy-os exec playwright install chromium
|
||||
|
||||
Reference in New Issue
Block a user