From 08c736a0cf0ba4ad1b851c77e44e255e0e065081 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Mon, 7 Jul 2025 03:03:52 +0900 Subject: [PATCH] test(vue-query/useQueries): switch to fake timers and replace 'sleep' with 'advanceTimersByTimeAsync' --- .../src/__tests__/useQueries.test.ts | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/packages/vue-query/src/__tests__/useQueries.test.ts b/packages/vue-query/src/__tests__/useQueries.test.ts index 53a773f20e..31b98e7b3d 100644 --- a/packages/vue-query/src/__tests__/useQueries.test.ts +++ b/packages/vue-query/src/__tests__/useQueries.test.ts @@ -1,4 +1,4 @@ -import { beforeEach, describe, expect, test, vi } from 'vitest' +import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest' import { onScopeDispose, ref } from 'vue-demi' import { sleep } from '@tanstack/query-test-utils' import { useQueries } from '../useQueries' @@ -11,6 +11,11 @@ vi.mock('../useQueryClient') describe('useQueries', () => { beforeEach(() => { vi.restoreAllMocks() + vi.useFakeTimers() + }) + + afterEach(() => { + vi.useRealTimers() }) test('should return result for each query', () => { @@ -55,7 +60,7 @@ describe('useQueries', () => { ] const queriesState = useQueries({ queries }) - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(queriesState.value).toMatchObject([ { @@ -87,7 +92,7 @@ describe('useQueries', () => { ] const queriesState = useQueries({ queries }) - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(queriesState.value).toMatchObject([ { @@ -122,7 +127,7 @@ describe('useQueries', () => { ]) const queriesState = useQueries({ queries }) - await sleep(0) + await vi.advanceTimersByTimeAsync(0) queries.value.splice( 0, @@ -137,8 +142,8 @@ describe('useQueries', () => { }, ) - await sleep(0) - await sleep(0) + await vi.advanceTimersByTimeAsync(0) + await vi.advanceTimersByTimeAsync(0) expect(queriesState.value.length).toEqual(2) expect(queriesState.value).toMatchObject([ @@ -176,7 +181,7 @@ describe('useQueries', () => { }, ] const queriesState = useQueries({ queries }) - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(queriesState.value).toMatchObject([ { @@ -208,7 +213,7 @@ describe('useQueries', () => { ] useQueries({ queries }, queryClient) - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(useQueryClient).toHaveBeenCalledTimes(0) }) @@ -241,7 +246,7 @@ describe('useQueries', () => { }, queryClient, ) - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(queriesResult.value).toMatchObject({ combined: true, @@ -267,7 +272,7 @@ describe('useQueries', () => { checked.value = true - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(fetchFn).toHaveBeenCalled() }) @@ -290,13 +295,13 @@ describe('useQueries', () => { key1.value = 'key3' - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(fetchFn).toHaveBeenCalledTimes(2) key2.value = 'key4' - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(fetchFn).toHaveBeenCalledTimes(3) }) @@ -335,31 +340,31 @@ describe('useQueries', () => { key1.value = 'key1-updated' - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(fetchFn).toHaveBeenCalledTimes(2) key2.value = 'key2-updated' - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(fetchFn).toHaveBeenCalledTimes(3) key3.value = 'key3-updated' - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(fetchFn).toHaveBeenCalledTimes(4) key4.value = 'key4-updated' - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(fetchFn).toHaveBeenCalledTimes(5) key5.value = 'key5-updated' - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(fetchFn).toHaveBeenCalledTimes(6) })