From c90217da59d9674544ec54e9b31801315d6619a6 Mon Sep 17 00:00:00 2001 From: bymyself Date: Tue, 20 Jan 2026 11:27:31 -0800 Subject: [PATCH] fix: use fake timers in persistence test for deterministic CI --- .../surveys/useFeatureUsageTracker.test.ts | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/platform/surveys/useFeatureUsageTracker.test.ts b/src/platform/surveys/useFeatureUsageTracker.test.ts index 78edcfce55..622b190597 100644 --- a/src/platform/surveys/useFeatureUsageTracker.test.ts +++ b/src/platform/surveys/useFeatureUsageTracker.test.ts @@ -94,16 +94,20 @@ describe('useFeatureUsageTracker', () => { }) it('persists to localStorage', async () => { - const { useFeatureUsageTracker } = await import('./useFeatureUsageTracker') - const { trackUsage } = useFeatureUsageTracker('persisted-feature') + vi.useFakeTimers() + try { + const { useFeatureUsageTracker } = + await import('./useFeatureUsageTracker') + const { trackUsage } = useFeatureUsageTracker('persisted-feature') - trackUsage() + trackUsage() + await vi.runAllTimersAsync() - // useStorage flushes async, wait a tick - await new Promise((r) => setTimeout(r, 0)) - - const stored = JSON.parse(localStorage.getItem(STORAGE_KEY) ?? '{}') - expect(stored['persisted-feature']?.useCount).toBe(1) + const stored = JSON.parse(localStorage.getItem(STORAGE_KEY) ?? '{}') + expect(stored['persisted-feature']?.useCount).toBe(1) + } finally { + vi.useRealTimers() + } }) it('loads existing data from localStorage', async () => {