Add Playwright e2e coverage + comment-level video upload workflow (#40)
All checks were successful
Build and Push Image / docker-build-and-push (push) Successful in 2m31s
All checks were successful
Build and Push Image / docker-build-and-push (push) Successful in 2m31s
## Summary - add Playwright e2e auth setup + seeded test DB flow - fix Playwright startup order so DB seed runs before web server uses SQLite - add full trip-planning e2e scenario (future trip, travellers, destination, flight, lodging, upcoming verification) - configure Auth.js custom sign-in page for base-path routing - add repo guidance in AGENTS.md / CLAUDE.md requiring e2e for user-facing changes - document and validate comment-level Gitea video attachment workflow (create comment, upload to comment assets endpoint) ## Validation - bunx playwright test e2e/auth.test.ts --project=chromium\n- bunx playwright test e2e/trip-planning.test.ts --project=chromium - PW_VIDEO_MODE=on PW_TRACE_MODE=off bunx playwright test e2e/trip-planning.test.ts --project=chromium ## Issue - relates to #38 Co-authored-by: AI Agent <ai-agent@campbellwireless.net> Reviewed-on: #40 Co-authored-by: Shaun Campbell <shaun@campbellwireless.net> Co-committed-by: Shaun Campbell <shaun@campbellwireless.net>
This commit was merged in pull request #40.
This commit is contained in:
12
CLAUDE.md
12
CLAUDE.md
@@ -28,6 +28,18 @@ After making changes, always verify:
|
||||
1. `bun run lint` — must exit with 0 errors (warnings are acceptable)
|
||||
2. `bun run test` — all tests must pass
|
||||
|
||||
For user-facing feature work, also add/update e2e coverage and validate it:
|
||||
3. `bunx playwright test <target spec or suite>`
|
||||
|
||||
When work maps to a Gitea issue, upload an e2e run video to the issue:
|
||||
- Generate one-off video artifacts with:
|
||||
- `PW_VIDEO_MODE=on PW_TRACE_MODE=on bunx playwright test <target spec>`
|
||||
- Prefer comment-level attachments: create a comment first, then attach video to that comment.
|
||||
- `tea comment -l <login> -r <owner>/<repo> <issue-index> "<message>"`
|
||||
- Upload with `curl` (the current `tea api` build here does not send multipart/form-data correctly for attachments):
|
||||
- `TOKEN=$(awk '/- name: cloud.campbellwireless.net/{f=1} f && $1=="token:"{print $2; exit}' "$HOME/Library/Application Support/tea/config.yml")`
|
||||
- `curl -fsS -X POST "https://cloud.campbellwireless.net/git/api/v1/repos/{owner}/{repo}/issues/comments/{comment_id}/assets" -H "Authorization: token $TOKEN" -F "name=<filename>" -F "attachment=@<path>"`
|
||||
|
||||
### Write unit tests after every major feature
|
||||
|
||||
When adding or significantly modifying server-side business logic (files under `src/lib/server/`), write corresponding unit tests in a `.test.ts` file alongside the module (e.g. `src/lib/server/lodgings.test.ts`).
|
||||
|
||||
Reference in New Issue
Block a user