From 184d91cb91fa0207bebfe8427e5ed363b06eeb8a Mon Sep 17 00:00:00 2001 From: bymyself Date: Mon, 19 Jan 2026 21:43:56 -0800 Subject: [PATCH] fix: use fake timers in lastUsed test for deterministic CI --- .../surveys/useFeatureUsageTracker.test.ts | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/platform/surveys/useFeatureUsageTracker.test.ts b/src/platform/surveys/useFeatureUsageTracker.test.ts index 6c45ba0514..78edcfce55 100644 --- a/src/platform/surveys/useFeatureUsageTracker.test.ts +++ b/src/platform/surveys/useFeatureUsageTracker.test.ts @@ -49,16 +49,22 @@ describe('useFeatureUsageTracker', () => { }) it('updates lastUsed on each use', async () => { - const { useFeatureUsageTracker } = await import('./useFeatureUsageTracker') - const { usage, trackUsage } = useFeatureUsageTracker('test-feature') + vi.useFakeTimers() + try { + const { useFeatureUsageTracker } = + await import('./useFeatureUsageTracker') + const { usage, trackUsage } = useFeatureUsageTracker('test-feature') - trackUsage() - const firstLastUsed = usage.value?.lastUsed ?? 0 + trackUsage() + const firstLastUsed = usage.value?.lastUsed ?? 0 - await new Promise((r) => setTimeout(r, 10)) - trackUsage() + vi.advanceTimersByTime(10) + trackUsage() - expect(usage.value?.lastUsed).toBeGreaterThan(firstLastUsed) + expect(usage.value?.lastUsed).toBeGreaterThan(firstLastUsed) + } finally { + vi.useRealTimers() + } }) it('reset clears feature data', async () => {