Conversation
The runner migration needs Vitest 4 and unplugin-swc in place of Jest, @swc/jest, and the Jest type packages so later config and spec changes can compile against the new stack.
Unit and integration runs need Vitest configs that preserve SWC transforms, the ESM .js import alias, coverage reporters, and testcontainers-length hook timeouts. Empty Jest global setup stubs are unused under Vitest's named setup/teardown contract.
The remaining specs still called jest.* and used done() callbacks that Vitest does not support. Rename to vi.*, wrap event-driven cases in Promises, regenerate snapshots, and switch scripts plus the shared @1inch/eslint-config/testing preset so CI runs the new stack.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
Reviewed by Cursor Bugbot for commit 2406c13. Configure here.
| @@ -0,0 +1,20 @@ | |||
| import {defineConfig} from 'vitest/config' | |||
| import base from './vitest.config.mjs' | |||
There was a problem hiding this comment.
Integration config imports missing file
Medium Severity
vitest.config.integration.mts imports ./vitest.config.mjs, but only vitest.config.mts exists. pnpm test:integration can fail during config load, so the integration runner is not reliably usable after the Jest removal.
Reviewed by Cursor Bugbot for commit 2406c13. Configure here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Change Summary
What does this PR change?
Migrates the SDK test runner from Jest 30 to Vitest 4, keeping the same unit-test counts and snapshot bodies. Specs now use
vi.*instead ofjest.*, event-driven websocket cases wrapdone()in Promises, and CI scripts callvitest run.Related Issue/Ticket:
No PT9 ticket. Clean re-run of the
jest-to-vitest-4skill from1inch/ai-dev-toolkitmainafter closing conflicting PR #88.Testing & Verification
How was this tested?
Unit: 36 files, 247 passed, 1 skipped (248) — same as the pre-migration Jest baseline.
pnpm lint:ciexit 0 (7 pre-existingno-explicit-anywarnings insrc/ws-api/types.ts).pnpm lint:typesandpnpm buildexit 0.Integration was not run: those specs need Docker plus Foundry artifacts under
dist/contracts/. File collection fortests/**/*.spec.tsis unchanged (3 specs).Risk Assessment
Risk Level:
Risks & Impact
None. Test-runner and lint-preset only. No production SDK source changes.
@1inch/eslint-config5.0.0 → 5.1.0. NestJS coverage rules stay armed but dormant (pathIncludesdoes not match this SDK layout).Made with Cursor