AUTH-QA
Auth QA checklist (local)
API smoke
- signup:
POST /api/auth/signupsetssidcookie and returnsactiveWorkspaceId - auth/me:
GET /api/auth/meworks with cookie; returnsuser,workspaces,activeWorkspaceId - logout:
POST /api/auth/logoutclears session and subsequent/api/auth/mereturns 401 - active workspace:
- login with 2+ workspaces returns
activeWorkspaceId: null POST /api/auth/active-workspacesets it and workspace-scoped endpoints (e.g./api/recipes) start working
- login with 2+ workspaces returns
Web smoke (i18n + auth)
/en/login↔/it/loginlanguage switcher updates URL and the submittedpreferredLocale- Login redirects:
- unauthenticated access to protected pages redirects to
/{locale}/login?next=... - login redirects back to
nextwhen provided
- unauthenticated access to protected pages redirects to
- Session-expired UX (401):
- when an authenticated page hits a 401, a “Session expired” notice appears at the top
- the page scrolls to the top so the notice is visible
- after ~10 seconds, the app redirects to
/{locale}/login?next=... - the notice includes a “Log in now” CTA that redirects immediately
- If user has multiple workspaces:
- after login →
/[locale]/select-workspace - selecting a workspace → dashboard
- after login →
- “Translations status” note is visible on login/signup pages and the “Help translate” link goes to
/[locale]/i18n-contributing