diff --git a/packages/query-persist-client-core/src/__tests__/createPersister.test.ts b/packages/query-persist-client-core/src/__tests__/createPersister.test.ts index 95038813dc1..c13b91305d1 100644 --- a/packages/query-persist-client-core/src/__tests__/createPersister.test.ts +++ b/packages/query-persist-client-core/src/__tests__/createPersister.test.ts @@ -1,10 +1,9 @@ -import { describe, expect, test, vi } from 'vitest' +import { afterAll, beforeAll, describe, expect, test, vi } from 'vitest' import { Query, QueryClient, hashKey } from '@tanstack/query-core' import { PERSISTER_KEY_PREFIX, experimental_createPersister, } from '../createPersister' -import { sleep } from './utils' import type { QueryFunctionContext, QueryKey } from '@tanstack/query-core' import type { StoragePersisterOptions } from '../createPersister' @@ -60,6 +59,14 @@ function setupPersister( } describe('createPersister', () => { + beforeAll(() => { + vi.useFakeTimers() + }) + + afterAll(() => { + vi.useRealTimers() + }) + test('should fetch if storage is not provided', async () => { const { context, persisterFn, query, queryFn } = setupPersister(['foo'], { storage: undefined, @@ -215,7 +222,7 @@ describe('createPersister', () => { query.fetch = vi.fn() expect(query.state.dataUpdatedAt).toEqual(0) - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(queryFn).toHaveBeenCalledTimes(0) expect(query.fetch).toHaveBeenCalledTimes(0) @@ -243,7 +250,7 @@ describe('createPersister', () => { query.state.isInvalidated = true query.fetch = vi.fn() - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(queryFn).toHaveBeenCalledTimes(0) expect(query.fetch).toHaveBeenCalledTimes(1) @@ -266,7 +273,7 @@ describe('createPersister', () => { await persisterFn(queryFn, context, query) query.setData('baz') - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(queryFn).toHaveBeenCalledOnce() expect(queryFn).toHaveBeenCalledWith(context) @@ -308,7 +315,7 @@ describe('createPersister', () => { await persisterFn(queryFn, context, query) query.fetch = vi.fn() - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(queryFn).toHaveBeenCalledTimes(1) expect(query.fetch).toHaveBeenCalledTimes(0) @@ -337,7 +344,7 @@ describe('createPersister', () => { query.state.isInvalidated = true query.fetch = vi.fn() - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(queryFn).toHaveBeenCalledTimes(0) expect(query.fetch).toHaveBeenCalledTimes(1) @@ -362,7 +369,7 @@ describe('createPersister', () => { await persisterFn(queryFn, context, query) query.setData('baz') - await sleep(0) + await vi.advanceTimersByTimeAsync(0) expect(queryFn).toHaveBeenCalledOnce() expect(queryFn).toHaveBeenCalledWith(context) diff --git a/packages/query-persist-client-core/src/__tests__/utils.ts b/packages/query-persist-client-core/src/__tests__/utils.ts index 01287a2422d..ee5ac7f0d40 100644 --- a/packages/query-persist-client-core/src/__tests__/utils.ts +++ b/packages/query-persist-client-core/src/__tests__/utils.ts @@ -7,7 +7,7 @@ export function createQueryClient(config?: QueryClientConfig): QueryClient { return new QueryClient(config) } -export function sleep(timeout: number): Promise { +function sleep(timeout: number): Promise { return new Promise((resolve, _reject) => { setTimeout(resolve, timeout) })