Skip to content

Commit d526dfe

Browse files
committed
test: run each test with fake timers
Amp-Thread-ID: https://ampcode.com/threads/T-019feeff-305b-73a5-bb82-3ae3a74e816d
1 parent 81a954b commit d526dfe

9 files changed

Lines changed: 21 additions & 12 deletions

File tree

apps/desktop-ui/vitest.config.mts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export default defineConfig({
1818
restoreMocks: true,
1919
unstubEnvs: true,
2020
unstubGlobals: true,
21+
fakeTimers: { shouldAdvanceTime: true },
2122
globals: true,
2223
environment: 'happy-dom',
2324
include: ['src/**/*.{test,spec}.{ts,tsx}'],

apps/website/vitest.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export default defineConfig({
1414
restoreMocks: true,
1515
unstubEnvs: true,
1616
unstubGlobals: true,
17+
fakeTimers: { shouldAdvanceTime: true },
1718
environment: 'node',
1819
include: ['src/**/*.{test,spec}.ts'],
1920
globals: false,

eslint.config.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ export default defineConfig([
103103
allowDefaultProject: [
104104
'packages/object-info-parser/vitest.config.ts',
105105
'vite.electron.config.mts',
106-
'vite.types.config.mts'
106+
'vite.types.config.mts',
107+
'vitest.timer.setup.ts'
107108
]
108109
}
109110
}

packages/object-info-parser/vitest.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export default defineConfig({
66
restoreMocks: true,
77
unstubEnvs: true,
88
unstubGlobals: true,
9+
fakeTimers: { shouldAdvanceTime: true },
910
environment: 'node',
1011
include: ['src/__tests__/**/*.test.ts'],
1112
globals: false,

src/components/queue/job/JobAssetsList.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ describe('JobAssetsList', () => {
381381
})
382382

383383
it('shows and hides the job details popover with hover delays', async () => {
384-
vi.useFakeTimers()
384+
vi.useFakeTimers({ shouldAdvanceTime: false })
385385
const job = buildJob()
386386
const { container } = renderJobAssetsList({ jobs: [job] })
387387

@@ -411,7 +411,7 @@ describe('JobAssetsList', () => {
411411
})
412412

413413
it('keeps the job details popover open while hovering the popover', async () => {
414-
vi.useFakeTimers()
414+
vi.useFakeTimers({ shouldAdvanceTime: false })
415415
const job = buildJob()
416416
const { container } = renderJobAssetsList({ jobs: [job] })
417417

src/platform/telemetry/providers/cloud/DatadogRumTelemetryProvider.test.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -152,15 +152,15 @@ describe('DatadogRumTelemetryProvider', () => {
152152
...workflowExecutionIntent
153153
},
154154
duration: 20,
155-
context: {
155+
context: () => ({
156156
success: false,
157157
failure_reason: 'submission_rejected',
158158
terminal_stage: 'submission',
159159
workflow_started_at_unix_ms: performance.timeOrigin + 42,
160160
workflow_ended_at_unix_ms: performance.timeOrigin + 62,
161161
submission_duration_ms: 20,
162162
trigger_source: 'keybinding'
163-
}
163+
})
164164
},
165165
{
166166
name: 'queue wait',
@@ -173,7 +173,7 @@ describe('DatadogRumTelemetryProvider', () => {
173173
...workflowExecutionIntent
174174
},
175175
duration: 40,
176-
context: {
176+
context: () => ({
177177
success: false,
178178
failure_reason: 'execution_failed',
179179
terminal_stage: 'queue_wait',
@@ -183,7 +183,7 @@ describe('DatadogRumTelemetryProvider', () => {
183183
submission_duration_ms: 20,
184184
queue_wait_duration_ms: 20,
185185
trigger_source: 'keybinding'
186-
}
186+
})
187187
},
188188
{
189189
name: 'execution',
@@ -197,7 +197,7 @@ describe('DatadogRumTelemetryProvider', () => {
197197
...workflowExecutionIntent
198198
},
199199
duration: 100,
200-
context: {
200+
context: () => ({
201201
success: false,
202202
failure_reason: 'execution_failed',
203203
terminal_stage: 'execution',
@@ -209,7 +209,7 @@ describe('DatadogRumTelemetryProvider', () => {
209209
queue_wait_duration_ms: 30,
210210
execution_duration_ms: 50,
211211
trigger_source: 'keybinding'
212-
}
212+
})
213213
}
214214
] as const)(
215215
'records a failed workflow vital ending during $name',
@@ -221,7 +221,7 @@ describe('DatadogRumTelemetryProvider', () => {
221221
expect(addDurationVital).toHaveBeenCalledWith('workflow_execution', {
222222
startTime: performance.timeOrigin + 42,
223223
duration,
224-
context
224+
context: context()
225225
})
226226
}
227227
)

src/platform/workspace/stores/useWorkspaceAuth.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ describe('useWorkspaceAuthStore', () => {
107107
origin: 'http://localhost'
108108
})
109109
setActivePinia(createPinia())
110-
vi.useFakeTimers()
110+
vi.useFakeTimers({ shouldAdvanceTime: false })
111111
sessionStorage.clear()
112112
mockUnifiedCloudAuthEnabled.value = false
113113
mockCurrentUser.value = { uid: 'user-a' }

vite.config.mts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -745,6 +745,7 @@ export default defineConfig({
745745
restoreMocks: true,
746746
unstubEnvs: true,
747747
unstubGlobals: true,
748+
fakeTimers: { shouldAdvanceTime: true },
748749
globals: true,
749750
environment: 'happy-dom',
750751
// Pin the timezone so date-formatting assertions are deterministic

vitest.timer.setup.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
import { afterEach, vi } from 'vitest'
1+
import { afterEach, beforeEach, vi } from 'vitest'
2+
3+
beforeEach(() => {
4+
vi.useFakeTimers()
5+
})
26

37
afterEach(() => {
48
vi.useRealTimers()

0 commit comments

Comments
 (0)