|
1 | | -import { |
2 | | - clearMockedModules, |
3 | | - mockModule, |
4 | | -} from '@codebuff/common/testing/mock-modules' |
5 | 1 | import { getUserInfoFromApiKey } from '@codebuff/sdk' |
6 | 2 | import { describe, test, expect, beforeEach, afterEach, mock } from 'bun:test' |
7 | 3 |
|
@@ -48,21 +44,27 @@ describe('API Integration', () => { |
48 | 44 | return fetchMock |
49 | 45 | } |
50 | 46 |
|
51 | | - beforeEach(async () => { |
| 47 | + // Store original setTimeout to restore later |
| 48 | + const originalSetTimeout = globalThis.setTimeout |
| 49 | + |
| 50 | + beforeEach(() => { |
52 | 51 | process.env.NEXT_PUBLIC_CODEBUFF_APP_URL = 'https://example.codebuff.test' |
53 | | - // Mock retry delays to be instant for faster tests |
54 | | - // Use relative path from mock-modules.ts to the actual retry-config file |
55 | | - await mockModule('../../sdk/src/retry-config', () => ({ |
56 | | - MAX_RETRIES_PER_MESSAGE: 3, |
57 | | - RETRY_BACKOFF_BASE_DELAY_MS: 0, |
58 | | - RETRY_BACKOFF_MAX_DELAY_MS: 0, |
59 | | - })) |
| 52 | + // Mock setTimeout to execute immediately for faster tests |
| 53 | + // This makes the retry backoff delays instant |
| 54 | + globalThis.setTimeout = (( |
| 55 | + fn: (...args: unknown[]) => void, |
| 56 | + _delay?: number, |
| 57 | + ...args: unknown[] |
| 58 | + ) => { |
| 59 | + fn(...args) |
| 60 | + return 0 as unknown as ReturnType<typeof setTimeout> |
| 61 | + }) as typeof setTimeout |
60 | 62 | }) |
61 | 63 |
|
62 | 64 | afterEach(() => { |
63 | 65 | globalThis.fetch = originalFetch |
| 66 | + globalThis.setTimeout = originalSetTimeout |
64 | 67 | process.env.NEXT_PUBLIC_CODEBUFF_APP_URL = originalAppUrl |
65 | | - clearMockedModules() |
66 | 68 | mock.restore() |
67 | 69 | }) |
68 | 70 |
|
|
0 commit comments