No description
New specs (4):
- accept-invite: pre-registrant flow happy path + cadence/preset UX
- admin-pre-registrants: list, filter, action gating, redirect
- admin-series: list, create, edit (delete skipped — button no-ops)
- admin-site-content: list whitelist, edit + roundtrip on /
Extended specs (6):
- join-flow: cadence ×12 math, guidance label, paid-tier success
- events: series-pass-required, member-savings gating
- admin-events: full CRUD via /admin/events/create?edit=<id>
- admin-members: add-member submit, status select, detail nav
- a11y: add /accept-invite, /member/account, /board, /admin/pre-registrants
- wave-slack-onboarding: 9 of 16 scaffold tests now passing
Cross-file isolation hardening:
- admin-events CRUD: refresh auth cookie (auth.spec.js logout test
bumps tokenVersion on the shared admin), wait for hydration
before form fill, search by unique title to dodge pagination.
- board: switch memberPage from shared admin to dedicated seeded
member to avoid the same tokenVersion race.
- wave-slack §6.4: create dedicated test member, filter by email
before clicking, removing the "first row" anchor.
Also fixed board heading drift ("Board" → "Bulletin Board").
|
||
|---|---|---|
| .claude | ||
| .forgejo/workflows | ||
| .husky | ||
| .serena | ||
| app | ||
| assets/css | ||
| docs | ||
| e2e | ||
| plugins | ||
| public | ||
| scripts | ||
| server | ||
| tests | ||
| .cursorignore | ||
| .cursorindexingignore | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| debug-token.js | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| nuxt.config.ts | ||
| package-lock.json | ||
| package.json | ||
| playwright.config.js | ||
| slack-app-manifest.yaml | ||
| test-helcim-direct.js | ||
| TESTING.md | ||
| tsconfig.json | ||
| vitest.config.js | ||