test(core): configure shared vitest setup#232
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
📝 WalkthroughWalkthroughVitest cleanup and rate-limiter mocks are centralized in shared setup. Individual action, API, and utility tests remove duplicated teardown logic. Vitest configuration now separates core and rate-limiter projects, and stateless ChangesVitest harness and test suites
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/core/test/api/stateless/getSession.test.ts`:
- Around line 100-107: Update the session assertions in the affected stateless
session tests to distinguish fixed and rolling behavior: remove the
incoming-cookie decode assertion from the fixed-session case, and in the
rolling-session case assert that the refreshed decodeSession does not contain
role or permissions rather than relying only on toMatchObject. Preserve the
existing session.user assertions and use the visible decodeSession variable.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 74733914-be64-461d-b327-911922aa3779
📒 Files selected for processing (39)
packages/core/test/actions/callback/stateless.test.tspackages/core/test/actions/csrfToken/stateless.test.tspackages/core/test/actions/providers/connected/stateless.test.tspackages/core/test/actions/providers/tokens/revoke/stateless.test.tspackages/core/test/actions/providers/tokens/tokens/stateful.test.tspackages/core/test/actions/providers/tokens/tokens/stateless.test.tspackages/core/test/actions/session/session/stateful.test.tspackages/core/test/actions/session/session/stateless.test.tspackages/core/test/actions/session/updateSession/stateless.test.tspackages/core/test/actions/signIn/signIn/stateless.test.tspackages/core/test/actions/signIn/signInCredentials/stateful.test.tspackages/core/test/actions/signIn/signInCredentials/stateless.test.tspackages/core/test/actions/signOut/stateless.test.tspackages/core/test/actions/signUp/stateful.test.tspackages/core/test/actions/signUp/stateless.test.tspackages/core/test/api/stateful/getProviderTokens.test.tspackages/core/test/api/stateful/getSession.test.tspackages/core/test/api/stateful/signInCredentials.test.tspackages/core/test/api/stateful/signOut.test.tspackages/core/test/api/stateful/signUp.test.tspackages/core/test/api/stateful/updateSession.test.tspackages/core/test/api/stateless/getAccessToken.test.tspackages/core/test/api/stateless/getProviderTokens.test.tspackages/core/test/api/stateless/getSession.test.tspackages/core/test/api/stateless/isProviderConnected.test.tspackages/core/test/api/stateless/refreshUserInfo.test.tspackages/core/test/api/stateless/revokeToken.test.tspackages/core/test/api/stateless/signIn.test.tspackages/core/test/api/stateless/signInCredentials.test.tspackages/core/test/api/stateless/signOut.test.tspackages/core/test/api/stateless/signUp.test.tspackages/core/test/api/stateless/updateSession.test.tspackages/core/test/client/client.test.tspackages/core/test/env.test.tspackages/core/test/identity.test.tspackages/core/test/instance.test.tspackages/core/test/jose.test.tspackages/core/test/setup/vitest.setup.tspackages/core/vitest.config.ts
💤 Files with no reviewable changes (3)
- packages/core/test/actions/callback/stateless.test.ts
- packages/core/test/client/client.test.ts
- packages/core/test/jose.test.ts
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/core/test/api/stateless/getSession.test.ts`:
- Around line 100-107: Update the session assertions in the affected stateless
session tests to distinguish fixed and rolling behavior: remove the
incoming-cookie decode assertion from the fixed-session case, and in the
rolling-session case assert that the refreshed decodeSession does not contain
role or permissions rather than relying only on toMatchObject. Preserve the
existing session.user assertions and use the visible decodeSession variable.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 74733914-be64-461d-b327-911922aa3779
📒 Files selected for processing (39)
packages/core/test/actions/callback/stateless.test.tspackages/core/test/actions/csrfToken/stateless.test.tspackages/core/test/actions/providers/connected/stateless.test.tspackages/core/test/actions/providers/tokens/revoke/stateless.test.tspackages/core/test/actions/providers/tokens/tokens/stateful.test.tspackages/core/test/actions/providers/tokens/tokens/stateless.test.tspackages/core/test/actions/session/session/stateful.test.tspackages/core/test/actions/session/session/stateless.test.tspackages/core/test/actions/session/updateSession/stateless.test.tspackages/core/test/actions/signIn/signIn/stateless.test.tspackages/core/test/actions/signIn/signInCredentials/stateful.test.tspackages/core/test/actions/signIn/signInCredentials/stateless.test.tspackages/core/test/actions/signOut/stateless.test.tspackages/core/test/actions/signUp/stateful.test.tspackages/core/test/actions/signUp/stateless.test.tspackages/core/test/api/stateful/getProviderTokens.test.tspackages/core/test/api/stateful/getSession.test.tspackages/core/test/api/stateful/signInCredentials.test.tspackages/core/test/api/stateful/signOut.test.tspackages/core/test/api/stateful/signUp.test.tspackages/core/test/api/stateful/updateSession.test.tspackages/core/test/api/stateless/getAccessToken.test.tspackages/core/test/api/stateless/getProviderTokens.test.tspackages/core/test/api/stateless/getSession.test.tspackages/core/test/api/stateless/isProviderConnected.test.tspackages/core/test/api/stateless/refreshUserInfo.test.tspackages/core/test/api/stateless/revokeToken.test.tspackages/core/test/api/stateless/signIn.test.tspackages/core/test/api/stateless/signInCredentials.test.tspackages/core/test/api/stateless/signOut.test.tspackages/core/test/api/stateless/signUp.test.tspackages/core/test/api/stateless/updateSession.test.tspackages/core/test/client/client.test.tspackages/core/test/env.test.tspackages/core/test/identity.test.tspackages/core/test/instance.test.tspackages/core/test/jose.test.tspackages/core/test/setup/vitest.setup.tspackages/core/vitest.config.ts
💤 Files with no reviewable changes (3)
- packages/core/test/actions/callback/stateless.test.ts
- packages/core/test/client/client.test.ts
- packages/core/test/jose.test.ts
🛑 Comments failed to post (1)
packages/core/test/api/stateless/getSession.test.ts (1)
100-107: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Assert filtering on the refreshed token, not the request token.
Line 100 decodes the incoming cookie because fixed sessions do not issue a replacement token. Remove that assertion. For the rolling case, explicitly assert
decodeSessionlacksroleandpermissions;toMatchObjectpermits both claims.Proposed fix
- const decodeSession = await jose.decodeJWT(getCookie(session.headers, "aura-auth.session_token")!) - expect(decodeSession).toMatchObject({ - sub: "123", - name: "Alice", - email: "alice@example.com", - }) expect(session.session?.user).not.toHaveProperty("role") expect(session.session?.user).not.toHaveProperty("permissions") @@ expect(decodeSession).toMatchObject({ sub: "123", name: "Alice", email: "alice@example.com", }) - expect(session.session?.user).not.toHaveProperty("role") - expect(session.session?.user).not.toHaveProperty("permissions") + expect(decodeSession).not.toHaveProperty("role") + expect(decodeSession).not.toHaveProperty("permissions")Also applies to: 135-142
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/core/test/api/stateless/getSession.test.ts` around lines 100 - 107, Update the session assertions in the affected stateless session tests to distinguish fixed and rolling behavior: remove the incoming-cookie decode assertion from the fixed-session case, and in the rolling-session case assert that the refreshed decodeSession does not contain role or permissions rather than relying only on toMatchObject. Preserve the existing session.user assertions and use the visible decodeSession variable.
Description
This pull request configures a shared Vitest setup across the
@aura-stack/authmonorepo.It introduces two new setup files,
vitest.setup.tsandactions.setup.ts, to centralize common test configuration and reduce duplicated setup code across test suites. This results in a simpler, more maintainable testing infrastructure while keeping individual test files focused on their specific behavior.Key Changes
vitest.setup.tsfile.actions.setup.tsfile.@coderabbitai ignore