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.
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
- 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 dev2026-07-14 19:47:07 -05:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Test plan