test: FastAPI e2e role-permission gates + gallery search filters #66

Merged
ilia merged 1 commits from test/fastapi-e2e-role-search into dev 2026-07-14 19:47:07 -05:00
Owner

Summary

  • FastAPI e2e users wired into CI: E2E_API_USERNAME/PASSWORD (admin, mirrors e2e@levkine.ca) + E2E_API_VIEWER_USERNAME/PASSWORD (viewer) as Gitea Actions secrets.
  • New api.role-permissions.spec.ts: viewer 403 vs admin 200 on /api/v1/users, /api/v1/role-permissions, /api/v1/photos/bulk-delete (safe no-op via non-existent photo id).
  • New gallery.search-filters.spec.ts: tag_id / person_id filters on public /api/search return correct subsets, combined filters narrow results, and the /search UI tag-filter interaction updates URL + result count.
  • Docs: ROADMAP.md, e2e/README.md, e2e/.env.example updated.

Test plan

  • All 4 role-permission tests pass against DEV (verified locally with real E2E_API_* creds)
  • All 4 gallery search-filter tests pass against DEV
  • Full e2e suite (26 passed, 4 skipped — mail specs need Mailpit env) still green
  • CI green on this PR
## Summary - FastAPI e2e users wired into CI: E2E_API_USERNAME/PASSWORD (admin, mirrors e2e@levkine.ca) + E2E_API_VIEWER_USERNAME/PASSWORD (viewer) as Gitea Actions secrets. - New api.role-permissions.spec.ts: viewer 403 vs admin 200 on /api/v1/users, /api/v1/role-permissions, /api/v1/photos/bulk-delete (safe no-op via non-existent photo id). - New gallery.search-filters.spec.ts: tag_id / person_id filters on public /api/search return correct subsets, combined filters narrow results, and the /search UI tag-filter interaction updates URL + result count. - Docs: ROADMAP.md, e2e/README.md, e2e/.env.example updated. ## Test plan - [x] All 4 role-permission tests pass against DEV (verified locally with real E2E_API_* creds) - [x] All 4 gallery search-filter tests pass against DEV - [x] Full e2e suite (26 passed, 4 skipped — mail specs need Mailpit env) still green - [ ] CI green on this PR
ilia added 1 commit 2026-07-14 19:43:11 -05:00
test: FastAPI e2e role-permission gates + gallery search filter coverage
All checks were successful
CI / skip-ci-check (pull_request) Successful in 5s
CI / docker-ci (pull_request) Successful in 5s
CI / secret-scan (pull_request) Successful in 10s
CI / viewer-unit (pull_request) Successful in 2m33s
CI / e2e (pull_request) Successful in 2m38s
e78fad692f
- Wire E2E_API_USERNAME/PASSWORD (admin) + E2E_API_VIEWER_USERNAME/PASSWORD
  (viewer) into the Gitea Actions e2e job so FastAPI-authed specs run in CI.
- Add api.role-permissions.spec.ts: viewer 403 vs admin 200/200/200 on
  /api/v1/users, /api/v1/role-permissions, and /api/v1/photos/bulk-delete
  (safe no-op via a non-existent photo id — proves the gate, not deletion).
- Add gallery.search-filters.spec.ts: tag_id and person_id filters on the
  public /api/search route return correct subsets, combined filters narrow
  results, and the /search UI tag-filter interaction updates the URL/count.
- Update ROADMAP/README/.env.example for the new env vars and coverage.
ilia merged commit e60abd9263 into dev 2026-07-14 19:47:07 -05:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ilia/punimtag#66
No description provided.