@gravity-ui/data-source 0.9.0 → 0.10.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/core/types/DataSource.d.ts +8 -8
- package/build/cjs/core/types/DataSource.js.map +1 -1
- package/build/cjs/react/components/AsyncBoundary/AsyncBoundary.d.ts +3 -0
- package/build/cjs/react/components/AsyncBoundary/AsyncBoundary.js +35 -0
- package/build/cjs/react/components/AsyncBoundary/AsyncBoundary.js.map +1 -0
- package/build/cjs/react/components/AsyncBoundary/index.d.ts +3 -0
- package/build/cjs/react/components/AsyncBoundary/index.js +20 -0
- package/build/cjs/react/components/AsyncBoundary/index.js.map +1 -0
- package/build/cjs/react/components/AsyncBoundary/types.d.ts +13 -0
- package/build/cjs/react/components/AsyncBoundary/types.js +6 -0
- package/build/cjs/react/components/AsyncBoundary/types.js.map +1 -0
- package/build/cjs/react/components/AsyncBoundary/withAsyncBoundary.d.ts +3 -0
- package/build/cjs/react/components/AsyncBoundary/withAsyncBoundary.js +26 -0
- package/build/cjs/react/components/AsyncBoundary/withAsyncBoundary.js.map +1 -0
- package/build/cjs/react/components/EmptyView/EmptyView.d.ts +2 -0
- package/build/cjs/react/components/EmptyView/EmptyView.js +10 -0
- package/build/cjs/react/components/EmptyView/EmptyView.js.map +1 -0
- package/build/cjs/react/components/EmptyView/index.d.ts +1 -0
- package/build/cjs/react/components/EmptyView/index.js +13 -0
- package/build/cjs/react/components/EmptyView/index.js.map +1 -0
- package/build/cjs/react/components/types.d.ts +1 -1
- package/build/cjs/react/components/types.js.map +1 -1
- package/build/cjs/react/index.d.ts +5 -3
- package/build/cjs/react/index.js +27 -3
- package/build/cjs/react/index.js.map +1 -1
- package/build/cjs/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.d.ts +3 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.js +23 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.js.map +1 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/index.d.ts +3 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/index.js +20 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/index.js.map +1 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/types.d.ts +8 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/types.js +6 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/types.js.map +1 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.d.ts +3 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.js +26 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.js.map +1 -0
- package/build/cjs/react-query/hooks/useSuspenseQueryData.d.ts +9 -0
- package/build/cjs/react-query/hooks/useSuspenseQueryData.js +22 -0
- package/build/cjs/react-query/hooks/useSuspenseQueryData.js.map +1 -0
- package/build/cjs/react-query/index.d.ts +2 -0
- package/build/cjs/react-query/index.js +35 -0
- package/build/cjs/react-query/index.js.map +1 -1
- package/build/esm/core/types/DataSource.d.ts +8 -8
- package/build/esm/core/types/DataSource.js.map +1 -1
- package/build/esm/react/components/AsyncBoundary/AsyncBoundary.d.ts +3 -0
- package/build/esm/react/components/AsyncBoundary/AsyncBoundary.js +28 -0
- package/build/esm/react/components/AsyncBoundary/AsyncBoundary.js.map +1 -0
- package/build/esm/react/components/AsyncBoundary/index.d.ts +3 -0
- package/build/esm/react/components/AsyncBoundary/index.js +3 -0
- package/build/esm/react/components/AsyncBoundary/index.js.map +1 -0
- package/build/esm/react/components/AsyncBoundary/types.d.ts +13 -0
- package/build/esm/react/components/AsyncBoundary/types.js +2 -0
- package/build/esm/react/components/AsyncBoundary/types.js.map +1 -0
- package/build/esm/react/components/AsyncBoundary/withAsyncBoundary.d.ts +3 -0
- package/build/esm/react/components/AsyncBoundary/withAsyncBoundary.js +19 -0
- package/build/esm/react/components/AsyncBoundary/withAsyncBoundary.js.map +1 -0
- package/build/esm/react/components/EmptyView/EmptyView.d.ts +2 -0
- package/build/esm/react/components/EmptyView/EmptyView.js +4 -0
- package/build/esm/react/components/EmptyView/EmptyView.js.map +1 -0
- package/build/esm/react/components/EmptyView/index.d.ts +1 -0
- package/build/esm/react/components/EmptyView/index.js +2 -0
- package/build/esm/react/components/EmptyView/index.js.map +1 -0
- package/build/esm/react/components/types.d.ts +1 -1
- package/build/esm/react/components/types.js.map +1 -1
- package/build/esm/react/index.d.ts +5 -3
- package/build/esm/react/index.js +4 -2
- package/build/esm/react/index.js.map +1 -1
- package/build/esm/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.d.ts +3 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.js +16 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.js.map +1 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/index.d.ts +3 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/index.js +3 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/index.js.map +1 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/types.d.ts +8 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/types.js +2 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/types.js.map +1 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.d.ts +3 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.js +19 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.js.map +1 -0
- package/build/esm/react-query/hooks/useSuspenseQueryData.d.ts +9 -0
- package/build/esm/react-query/hooks/useSuspenseQueryData.js +15 -0
- package/build/esm/react-query/hooks/useSuspenseQueryData.js.map +1 -0
- package/build/esm/react-query/index.d.ts +2 -0
- package/build/esm/react-query/index.js +2 -0
- package/build/esm/react-query/index.js.map +1 -1
- package/build/plugin/esbuild.d.mts +7 -0
- package/build/plugin/esbuild.mjs +6 -0
- package/build/plugin/factory-2tSt4Rte.mjs +513 -0
- package/build/plugin/index-mY40Sgl5.d.mts +24 -0
- package/build/plugin/index.d.mts +7 -0
- package/build/plugin/index.mjs +6 -0
- package/build/plugin/rollup.d.mts +6 -0
- package/build/plugin/rollup.mjs +6 -0
- package/build/plugin/rspack.d.mts +7 -0
- package/build/plugin/rspack.mjs +6 -0
- package/build/plugin/typings/client.d.ts +11 -0
- package/build/plugin/vite.d.mts +6 -0
- package/build/plugin/vite.mjs +6 -0
- package/build/plugin/webpack.d.mts +7 -0
- package/build/plugin/webpack.mjs +6 -0
- package/package.json +54 -5
- package/build/cjs/core/utils/__tests__/composeFullKey.test.js +0 -34
- package/build/cjs/core/utils/__tests__/composeFullKey.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/composeKey.test.js +0 -32
- package/build/cjs/core/utils/__tests__/composeKey.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/getError.test.js +0 -31
- package/build/cjs/core/utils/__tests__/getError.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/getStatus.test.js +0 -49
- package/build/cjs/core/utils/__tests__/getStatus.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/hasTag.test.js +0 -31
- package/build/cjs/core/utils/__tests__/hasTag.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/mergeStatuses.test.js +0 -25
- package/build/cjs/core/utils/__tests__/mergeStatuses.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/skipContext.test.js +0 -70
- package/build/cjs/core/utils/__tests__/skipContext.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/withCancellation.test.js +0 -106
- package/build/cjs/core/utils/__tests__/withCancellation.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/withCatch.test.js +0 -208
- package/build/cjs/core/utils/__tests__/withCatch.test.js.map +0 -1
- package/build/cjs/react/__tests__/DataManagerContext.test.js +0 -47
- package/build/cjs/react/__tests__/DataManagerContext.test.js.map +0 -1
- package/build/cjs/react/__tests__/withDataManager.test.js +0 -61
- package/build/cjs/react/__tests__/withDataManager.test.js.map +0 -1
- package/build/cjs/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js +0 -187
- package/build/cjs/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js.map +0 -1
- package/build/cjs/react/components/DataLoader/__tests__/DataLoader.test.js +0 -119
- package/build/cjs/react/components/DataLoader/__tests__/DataLoader.test.js.map +0 -1
- package/build/cjs/react-query/__tests__/createQueryNormalizer.test.js +0 -177
- package/build/cjs/react-query/__tests__/createQueryNormalizer.test.js.map +0 -1
- package/build/cjs/react-query/__tests__/normalizationEdgeCases.test.js +0 -100
- package/build/cjs/react-query/__tests__/normalizationEdgeCases.test.js.map +0 -1
- package/build/cjs/react-query/__tests__/subscriptions.test.js +0 -1180
- package/build/cjs/react-query/__tests__/subscriptions.test.js.map +0 -1
- package/build/cjs/react-query/__tests__/threeLevelIntegration.test.js +0 -659
- package/build/cjs/react-query/__tests__/threeLevelIntegration.test.js.map +0 -1
- package/build/cjs/react-query/__tests__/updateQueriesFromMutationData.test.js +0 -229
- package/build/cjs/react-query/__tests__/updateQueriesFromMutationData.test.js.map +0 -1
- package/build/cjs/react-query/hooks/__tests__/useQueryContext.test.js +0 -55
- package/build/cjs/react-query/hooks/__tests__/useQueryContext.test.js.map +0 -1
- package/build/cjs/react-query/hooks/__tests__/useQueryData.refetch.test.js +0 -230
- package/build/cjs/react-query/hooks/__tests__/useQueryData.refetch.test.js.map +0 -1
- package/build/cjs/react-query/hooks/__tests__/useQueryData.test.js +0 -97
- package/build/cjs/react-query/hooks/__tests__/useQueryData.test.js.map +0 -1
- package/build/cjs/react-query/hooks/__tests__/useQueryResponses.test.js +0 -77
- package/build/cjs/react-query/hooks/__tests__/useQueryResponses.test.js.map +0 -1
- package/build/cjs/react-query/hooks/__tests__/useRefetchAll.test.js +0 -79
- package/build/cjs/react-query/hooks/__tests__/useRefetchAll.test.js.map +0 -1
- package/build/cjs/react-query/hooks/__tests__/useRefetchErrored.test.js +0 -117
- package/build/cjs/react-query/hooks/__tests__/useRefetchErrored.test.js.map +0 -1
- package/build/cjs/react-query/hooks/__tests__/useRefetchInterval.test.js +0 -156
- package/build/cjs/react-query/hooks/__tests__/useRefetchInterval.test.js.map +0 -1
- package/build/cjs/react-query/utils/__tests__/checkMutationObjectsKeys.test.js +0 -295
- package/build/cjs/react-query/utils/__tests__/checkMutationObjectsKeys.test.js.map +0 -1
- package/build/cjs/react-query/utils/__tests__/formatNullableValue.test.js +0 -27
- package/build/cjs/react-query/utils/__tests__/formatNullableValue.test.js.map +0 -1
- package/build/cjs/react-query/utils/__tests__/getProgressiveRefetch.test.js +0 -76
- package/build/cjs/react-query/utils/__tests__/getProgressiveRefetch.test.js.map +0 -1
- package/build/cjs/react-query/utils/__tests__/normalizeStatus.test.js +0 -30
- package/build/cjs/react-query/utils/__tests__/normalizeStatus.test.js.map +0 -1
- package/build/cjs/react-query/utils/__tests__/notReachable.test.js +0 -35
- package/build/cjs/react-query/utils/__tests__/notReachable.test.js.map +0 -1
- package/build/cjs/react-query/utils/__tests__/parseNullableValue.test.js +0 -27
- package/build/cjs/react-query/utils/__tests__/parseNullableValue.test.js.map +0 -1
- package/build/cjs/setupTests.d.ts +0 -1
- package/build/cjs/setupTests.js +0 -4
- package/build/cjs/setupTests.js.map +0 -1
- package/build/esm/core/utils/__tests__/composeFullKey.test.js +0 -32
- package/build/esm/core/utils/__tests__/composeFullKey.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/composeKey.test.js +0 -30
- package/build/esm/core/utils/__tests__/composeKey.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/getError.test.js +0 -29
- package/build/esm/core/utils/__tests__/getError.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/getStatus.test.js +0 -47
- package/build/esm/core/utils/__tests__/getStatus.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/hasTag.test.js +0 -29
- package/build/esm/core/utils/__tests__/hasTag.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/mergeStatuses.test.js +0 -23
- package/build/esm/core/utils/__tests__/mergeStatuses.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/skipContext.test.js +0 -67
- package/build/esm/core/utils/__tests__/skipContext.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/withCancellation.test.js +0 -104
- package/build/esm/core/utils/__tests__/withCancellation.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/withCatch.test.js +0 -205
- package/build/esm/core/utils/__tests__/withCatch.test.js.map +0 -1
- package/build/esm/react/__tests__/DataManagerContext.test.js +0 -44
- package/build/esm/react/__tests__/DataManagerContext.test.js.map +0 -1
- package/build/esm/react/__tests__/withDataManager.test.js +0 -58
- package/build/esm/react/__tests__/withDataManager.test.js.map +0 -1
- package/build/esm/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js +0 -184
- package/build/esm/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js.map +0 -1
- package/build/esm/react/components/DataLoader/__tests__/DataLoader.test.js +0 -116
- package/build/esm/react/components/DataLoader/__tests__/DataLoader.test.js.map +0 -1
- package/build/esm/react-query/__tests__/createQueryNormalizer.test.js +0 -174
- package/build/esm/react-query/__tests__/createQueryNormalizer.test.js.map +0 -1
- package/build/esm/react-query/__tests__/normalizationEdgeCases.test.js +0 -98
- package/build/esm/react-query/__tests__/normalizationEdgeCases.test.js.map +0 -1
- package/build/esm/react-query/__tests__/subscriptions.test.js +0 -1176
- package/build/esm/react-query/__tests__/subscriptions.test.js.map +0 -1
- package/build/esm/react-query/__tests__/threeLevelIntegration.test.js +0 -656
- package/build/esm/react-query/__tests__/threeLevelIntegration.test.js.map +0 -1
- package/build/esm/react-query/__tests__/updateQueriesFromMutationData.test.js +0 -227
- package/build/esm/react-query/__tests__/updateQueriesFromMutationData.test.js.map +0 -1
- package/build/esm/react-query/hooks/__tests__/useQueryContext.test.js +0 -52
- package/build/esm/react-query/hooks/__tests__/useQueryContext.test.js.map +0 -1
- package/build/esm/react-query/hooks/__tests__/useQueryData.refetch.test.js +0 -227
- package/build/esm/react-query/hooks/__tests__/useQueryData.refetch.test.js.map +0 -1
- package/build/esm/react-query/hooks/__tests__/useQueryData.test.js +0 -95
- package/build/esm/react-query/hooks/__tests__/useQueryData.test.js.map +0 -1
- package/build/esm/react-query/hooks/__tests__/useQueryResponses.test.js +0 -74
- package/build/esm/react-query/hooks/__tests__/useQueryResponses.test.js.map +0 -1
- package/build/esm/react-query/hooks/__tests__/useRefetchAll.test.js +0 -77
- package/build/esm/react-query/hooks/__tests__/useRefetchAll.test.js.map +0 -1
- package/build/esm/react-query/hooks/__tests__/useRefetchErrored.test.js +0 -115
- package/build/esm/react-query/hooks/__tests__/useRefetchErrored.test.js.map +0 -1
- package/build/esm/react-query/hooks/__tests__/useRefetchInterval.test.js +0 -154
- package/build/esm/react-query/hooks/__tests__/useRefetchInterval.test.js.map +0 -1
- package/build/esm/react-query/utils/__tests__/checkMutationObjectsKeys.test.js +0 -292
- package/build/esm/react-query/utils/__tests__/checkMutationObjectsKeys.test.js.map +0 -1
- package/build/esm/react-query/utils/__tests__/formatNullableValue.test.js +0 -25
- package/build/esm/react-query/utils/__tests__/formatNullableValue.test.js.map +0 -1
- package/build/esm/react-query/utils/__tests__/getProgressiveRefetch.test.js +0 -74
- package/build/esm/react-query/utils/__tests__/getProgressiveRefetch.test.js.map +0 -1
- package/build/esm/react-query/utils/__tests__/normalizeStatus.test.js +0 -28
- package/build/esm/react-query/utils/__tests__/normalizeStatus.test.js.map +0 -1
- package/build/esm/react-query/utils/__tests__/notReachable.test.js +0 -33
- package/build/esm/react-query/utils/__tests__/notReachable.test.js.map +0 -1
- package/build/esm/react-query/utils/__tests__/parseNullableValue.test.js +0 -25
- package/build/esm/react-query/utils/__tests__/parseNullableValue.test.js.map +0 -1
- package/build/esm/setupTests.d.ts +0 -1
- package/build/esm/setupTests.js +0 -2
- package/build/esm/setupTests.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["QueryClient","useInfiniteQuery","useQuery","renderHook","idle","warnDisabledRefetch","useQueryContext","useQueryData","jest","mock","_objectSpread","requireActual","fn","mockUseQuery","mockUseInfiniteQuery","mockWarnDisabledRefetch","describe","mockQueryClient","mockContext","queryClient","beforeEach","clearAllMocks","mockReturnValue","createMockQueryResult","refetch","arguments","length","undefined","data","error","status","fetchStatus","isLoading","isError","isSuccess","isPending","dataUpdatedAt","Date","now","errorUpdatedAt","failureCount","failureReason","isFetched","isFetchedAfterMount","isFetching","isInitialLoading","isLoadingError","isPaused","isPlaceholderData","isPreviousData","isRefetchError","isRefetching","isStale","promise","Promise","resolve","createMockInfiniteResult","pages","pageParams","hasNextPage","hasPreviousPage","fetchNextPage","fetchPreviousPage","isFetchingNextPage","isFetchingPreviousPage","plainDataSource","type","name","fetch","mockResolvedValue","it","_asyncToGenerator","_regeneratorRuntime","mark","_callee","originalRefetch","_renderHook","result","wrap","_callee$","_context","prev","next","id","expect","current","not","toBe","toHaveBeenCalledTimes","stop","_renderHook2","enabled","_renderHook3","infiniteDataSource","_callee2","_renderHook4","_callee2$","_context2","_renderHook5","_renderHook6"],"sources":["useQueryData.refetch.test.ts"],"sourcesContent":["import {QueryClient, useInfiniteQuery, useQuery} from '@tanstack/react-query';\nimport {renderHook} from '@testing-library/react';\n\nimport {idle} from '../../../core';\nimport type {AnyInfiniteQueryDataSource} from '../../impl/infinite/types';\nimport type {AnyPlainQueryDataSource} from '../../impl/plain/types';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\nimport {useQueryContext} from '../useQueryContext';\nimport {useQueryData} from '../useQueryData';\n\njest.mock('@tanstack/react-query', () => ({\n ...jest.requireActual('@tanstack/react-query'),\n useQuery: jest.fn(),\n useInfiniteQuery: jest.fn(),\n}));\n\njest.mock('../useQueryContext');\njest.mock('../../utils/warnDisabledRefetch');\n\nconst mockUseQuery = useQuery as jest.MockedFunction<typeof useQuery>;\nconst mockUseInfiniteQuery = useInfiniteQuery as jest.MockedFunction<typeof useInfiniteQuery>;\nconst mockWarnDisabledRefetch = warnDisabledRefetch as jest.MockedFunction<\n typeof warnDisabledRefetch\n>;\n\ndescribe('useQueryData refetch behavior', () => {\n const mockQueryClient = new QueryClient();\n const mockContext = {queryClient: mockQueryClient};\n\n beforeEach(() => {\n jest.clearAllMocks();\n (useQueryContext as jest.Mock).mockReturnValue(mockContext);\n });\n\n const createMockQueryResult = (refetch = jest.fn()) => ({\n data: 'test-data',\n error: null,\n status: 'success' as const,\n fetchStatus: 'idle' as const,\n isLoading: false,\n isError: false,\n isSuccess: true,\n isPending: false,\n refetch,\n dataUpdatedAt: Date.now(),\n errorUpdatedAt: 0,\n failureCount: 0,\n failureReason: null,\n isFetched: true,\n isFetchedAfterMount: true,\n isFetching: false,\n isInitialLoading: false,\n isLoadingError: false,\n isPaused: false,\n isPlaceholderData: false,\n isPreviousData: false,\n isRefetchError: false,\n isRefetching: false,\n isStale: false,\n promise: Promise.resolve('test-data'),\n });\n\n const createMockInfiniteResult = (refetch = jest.fn()) => ({\n data: {pages: [['item1'], ['item2']], pageParams: [undefined, 'next-page']},\n error: null,\n status: 'success' as const,\n fetchStatus: 'idle' as const,\n isLoading: false,\n isError: false,\n isSuccess: true,\n isPending: false,\n refetch,\n hasNextPage: false,\n hasPreviousPage: false,\n fetchNextPage: jest.fn(),\n fetchPreviousPage: jest.fn(),\n isFetchingNextPage: false,\n isFetchingPreviousPage: false,\n dataUpdatedAt: Date.now(),\n errorUpdatedAt: 0,\n failureCount: 0,\n failureReason: null,\n isFetched: true,\n isFetchedAfterMount: true,\n isFetching: false,\n isInitialLoading: false,\n isLoadingError: false,\n isPaused: false,\n isPlaceholderData: false,\n isPreviousData: false,\n isRefetchError: false,\n isRefetching: false,\n isStale: false,\n promise: Promise.resolve({\n pages: [['item1'], ['item2']],\n pageParams: [undefined, 'next-page'],\n }),\n });\n\n describe('plain data source', () => {\n const plainDataSource: AnyPlainQueryDataSource = {\n type: 'plain',\n name: 'test-plain',\n fetch: jest.fn().mockResolvedValue({data: 'test-data'}),\n };\n\n it('should wrap refetch when no enabled option', async () => {\n const originalRefetch = jest.fn().mockResolvedValue({data: 'test', status: 'success'});\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(plainDataSource, {id: 1}));\n\n expect(result.current.refetch).not.toBe(originalRefetch);\n expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);\n\n await result.current.refetch();\n expect(originalRefetch).toHaveBeenCalledTimes(1);\n });\n\n it('should use warnDisabledRefetch when enabled: false', () => {\n const originalRefetch = jest.fn();\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() =>\n useQueryData(plainDataSource, {id: 1}, {enabled: false}),\n );\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n\n it('should use warnDisabledRefetch when params is idle', () => {\n const originalRefetch = jest.fn();\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(plainDataSource, idle));\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n });\n\n describe('infinite data source', () => {\n const infiniteDataSource: AnyInfiniteQueryDataSource = {\n type: 'infinite',\n name: 'test-infinite',\n fetch: jest.fn().mockResolvedValue({data: ['item1', 'item2']}),\n next: jest.fn(),\n };\n\n it('should wrap refetch when no enabled option', async () => {\n const originalRefetch = jest.fn().mockResolvedValue({\n data: {pages: [], pageParams: []},\n status: 'success',\n });\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(infiniteDataSource, {id: 1}));\n\n expect(result.current.refetch).not.toBe(originalRefetch);\n expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);\n\n await result.current.refetch();\n expect(originalRefetch).toHaveBeenCalledTimes(1);\n });\n\n it('should use warnDisabledRefetch when enabled: false', () => {\n const originalRefetch = jest.fn();\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() =>\n useQueryData(infiniteDataSource, {id: 1}, {enabled: false}),\n );\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n\n it('should use warnDisabledRefetch when params is idle', () => {\n const originalRefetch = jest.fn();\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(infiniteDataSource, idle));\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { QueryClient } from '@tanstack/react-query';
|
|
2
|
-
import { renderHook } from '@testing-library/react';
|
|
3
|
-
import { useInfiniteQueryData } from '../../impl/infinite/hooks';
|
|
4
|
-
import { usePlainQueryData } from '../../impl/plain/hooks';
|
|
5
|
-
import { notReachable } from '../../utils/notReachable';
|
|
6
|
-
import { useQueryContext } from '../useQueryContext';
|
|
7
|
-
import { useQueryData } from '../useQueryData';
|
|
8
|
-
jest.mock('../useQueryContext');
|
|
9
|
-
jest.mock('../../impl/plain/hooks');
|
|
10
|
-
jest.mock('../../impl/infinite/hooks');
|
|
11
|
-
jest.mock('../../utils/notReachable');
|
|
12
|
-
describe('useQueryData', function () {
|
|
13
|
-
var mockQueryClient = new QueryClient();
|
|
14
|
-
var mockContext = {
|
|
15
|
-
queryClient: mockQueryClient
|
|
16
|
-
};
|
|
17
|
-
var mockPlainState = {
|
|
18
|
-
status: 'success',
|
|
19
|
-
data: 'plain data'
|
|
20
|
-
};
|
|
21
|
-
var mockInfiniteState = {
|
|
22
|
-
status: 'success',
|
|
23
|
-
data: ['infinite data']
|
|
24
|
-
};
|
|
25
|
-
beforeEach(function () {
|
|
26
|
-
jest.clearAllMocks();
|
|
27
|
-
useQueryContext.mockReturnValue(mockContext);
|
|
28
|
-
usePlainQueryData.mockReturnValue(mockPlainState);
|
|
29
|
-
useInfiniteQueryData.mockReturnValue(mockInfiniteState);
|
|
30
|
-
notReachable.mockReturnValue('not reachable');
|
|
31
|
-
});
|
|
32
|
-
it('should call usePlainQueryData for plain data source', function () {
|
|
33
|
-
var dataSource = {
|
|
34
|
-
type: 'plain',
|
|
35
|
-
name: 'test',
|
|
36
|
-
fetch: jest.fn()
|
|
37
|
-
};
|
|
38
|
-
var params = {
|
|
39
|
-
id: 1
|
|
40
|
-
};
|
|
41
|
-
var options = {
|
|
42
|
-
refetchInterval: 1000
|
|
43
|
-
};
|
|
44
|
-
var _renderHook = renderHook(function () {
|
|
45
|
-
return useQueryData(dataSource, params, options);
|
|
46
|
-
}),
|
|
47
|
-
result = _renderHook.result;
|
|
48
|
-
expect(useQueryContext).toHaveBeenCalled();
|
|
49
|
-
expect(usePlainQueryData).toHaveBeenCalledWith(mockContext, dataSource, params, options);
|
|
50
|
-
expect(useInfiniteQueryData).not.toHaveBeenCalled();
|
|
51
|
-
expect(result.current).toBe(mockPlainState);
|
|
52
|
-
});
|
|
53
|
-
it('should call useInfiniteQueryData for infinite data source', function () {
|
|
54
|
-
var dataSource = {
|
|
55
|
-
type: 'infinite',
|
|
56
|
-
name: 'test',
|
|
57
|
-
fetch: jest.fn(),
|
|
58
|
-
next: jest.fn()
|
|
59
|
-
};
|
|
60
|
-
var params = {
|
|
61
|
-
id: 1
|
|
62
|
-
};
|
|
63
|
-
var options = {
|
|
64
|
-
refetchInterval: 1000
|
|
65
|
-
};
|
|
66
|
-
var _renderHook2 = renderHook(function () {
|
|
67
|
-
return useQueryData(dataSource, params, options);
|
|
68
|
-
}),
|
|
69
|
-
result = _renderHook2.result;
|
|
70
|
-
expect(useQueryContext).toHaveBeenCalled();
|
|
71
|
-
expect(useInfiniteQueryData).toHaveBeenCalledWith(mockContext, dataSource, params, options);
|
|
72
|
-
expect(usePlainQueryData).not.toHaveBeenCalled();
|
|
73
|
-
expect(result.current).toBe(mockInfiniteState);
|
|
74
|
-
});
|
|
75
|
-
it('should call notReachable for unknown data source type', function () {
|
|
76
|
-
var dataSource = {
|
|
77
|
-
type: 'unknown',
|
|
78
|
-
name: 'test',
|
|
79
|
-
fetch: jest.fn()
|
|
80
|
-
};
|
|
81
|
-
var params = {
|
|
82
|
-
id: 1
|
|
83
|
-
};
|
|
84
|
-
notReachable.mockImplementation(function () {
|
|
85
|
-
return 'not reachable';
|
|
86
|
-
});
|
|
87
|
-
renderHook(function () {
|
|
88
|
-
return useQueryData(dataSource, params);
|
|
89
|
-
});
|
|
90
|
-
expect(usePlainQueryData).not.toHaveBeenCalled();
|
|
91
|
-
expect(useInfiniteQueryData).not.toHaveBeenCalled();
|
|
92
|
-
expect(notReachable).toHaveBeenCalledWith('unknown', expect.any(String));
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
// #sourceMappingURL=useQueryData.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["QueryClient","renderHook","useInfiniteQueryData","usePlainQueryData","notReachable","useQueryContext","useQueryData","jest","mock","describe","mockQueryClient","mockContext","queryClient","mockPlainState","status","data","mockInfiniteState","beforeEach","clearAllMocks","mockReturnValue","it","dataSource","type","name","fetch","fn","params","id","options","refetchInterval","_renderHook","result","expect","toHaveBeenCalled","toHaveBeenCalledWith","not","current","toBe","next","_renderHook2","mockImplementation","any","String"],"sources":["useQueryData.test.ts"],"sourcesContent":["import {QueryClient} from '@tanstack/react-query';\nimport {renderHook} from '@testing-library/react';\n\nimport {useInfiniteQueryData} from '../../impl/infinite/hooks';\nimport type {AnyInfiniteQueryDataSource} from '../../impl/infinite/types';\nimport {usePlainQueryData} from '../../impl/plain/hooks';\nimport type {AnyPlainQueryDataSource} from '../../impl/plain/types';\nimport type {AnyQueryDataSource} from '../../types/base';\nimport {notReachable} from '../../utils/notReachable';\nimport {useQueryContext} from '../useQueryContext';\nimport {useQueryData} from '../useQueryData';\n\njest.mock('../useQueryContext');\njest.mock('../../impl/plain/hooks');\njest.mock('../../impl/infinite/hooks');\njest.mock('../../utils/notReachable');\n\ndescribe('useQueryData', () => {\n const mockQueryClient = new QueryClient();\n const mockContext = {queryClient: mockQueryClient};\n const mockPlainState = {status: 'success', data: 'plain data'};\n const mockInfiniteState = {status: 'success', data: ['infinite data']};\n\n beforeEach(() => {\n jest.clearAllMocks();\n\n (useQueryContext as jest.Mock).mockReturnValue(mockContext);\n (usePlainQueryData as jest.Mock).mockReturnValue(mockPlainState);\n (useInfiniteQueryData as jest.Mock).mockReturnValue(mockInfiniteState);\n (notReachable as unknown as jest.Mock).mockReturnValue('not reachable');\n });\n\n it('should call usePlainQueryData for plain data source', () => {\n const dataSource: AnyPlainQueryDataSource = {\n type: 'plain',\n name: 'test',\n fetch: jest.fn(),\n };\n const params = {id: 1};\n const options = {refetchInterval: 1000};\n\n const {result} = renderHook(() => useQueryData(dataSource, params, options));\n\n expect(useQueryContext).toHaveBeenCalled();\n expect(usePlainQueryData).toHaveBeenCalledWith(mockContext, dataSource, params, options);\n expect(useInfiniteQueryData).not.toHaveBeenCalled();\n expect(result.current).toBe(mockPlainState);\n });\n\n it('should call useInfiniteQueryData for infinite data source', () => {\n const dataSource: AnyInfiniteQueryDataSource = {\n type: 'infinite',\n name: 'test',\n fetch: jest.fn(),\n next: jest.fn(),\n };\n const params = {id: 1};\n const options = {refetchInterval: 1000};\n\n const {result} = renderHook(() => useQueryData(dataSource, params, options));\n\n expect(useQueryContext).toHaveBeenCalled();\n expect(useInfiniteQueryData).toHaveBeenCalledWith(mockContext, dataSource, params, options);\n expect(usePlainQueryData).not.toHaveBeenCalled();\n expect(result.current).toBe(mockInfiniteState);\n });\n\n it('should call notReachable for unknown data source type', () => {\n const dataSource = {\n type: 'unknown',\n name: 'test',\n fetch: jest.fn(),\n } as unknown as AnyQueryDataSource;\n const params = {id: 1};\n\n (notReachable as unknown as jest.Mock).mockImplementation(() => {\n return 'not reachable';\n });\n\n renderHook(() => useQueryData(dataSource, params));\n\n expect(usePlainQueryData).not.toHaveBeenCalled();\n expect(useInfiniteQueryData).not.toHaveBeenCalled();\n expect(notReachable).toHaveBeenCalledWith('unknown', expect.any(String));\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
-
import { renderHook } from '@testing-library/react';
|
|
3
|
-
import { getError, getStatus } from '../../../core';
|
|
4
|
-
import { useQueryResponses } from '../useQueryResponses';
|
|
5
|
-
import { useRefetchAll } from '../useRefetchAll';
|
|
6
|
-
import { useRefetchErrored } from '../useRefetchErrored';
|
|
7
|
-
jest.mock('../useRefetchAll');
|
|
8
|
-
jest.mock('../useRefetchErrored');
|
|
9
|
-
jest.mock('../../../core', function () {
|
|
10
|
-
var originalModule = jest.requireActual('../../../core');
|
|
11
|
-
return _objectSpread(_objectSpread({}, originalModule), {}, {
|
|
12
|
-
getStatus: jest.fn(),
|
|
13
|
-
getError: jest.fn()
|
|
14
|
-
});
|
|
15
|
-
});
|
|
16
|
-
describe('useQueryResponses', function () {
|
|
17
|
-
var mockRefetchAll = jest.fn();
|
|
18
|
-
var mockRefetchErrored = jest.fn();
|
|
19
|
-
beforeEach(function () {
|
|
20
|
-
jest.clearAllMocks();
|
|
21
|
-
useRefetchAll.mockReturnValue(mockRefetchAll);
|
|
22
|
-
useRefetchErrored.mockReturnValue(mockRefetchErrored);
|
|
23
|
-
getStatus.mockReturnValue('success');
|
|
24
|
-
getError.mockReturnValue(null);
|
|
25
|
-
});
|
|
26
|
-
it('should return combined status, error, and refetch functions', function () {
|
|
27
|
-
var responses = [{
|
|
28
|
-
status: 'loading',
|
|
29
|
-
error: null,
|
|
30
|
-
refetch: jest.fn()
|
|
31
|
-
}, {
|
|
32
|
-
status: 'success',
|
|
33
|
-
error: null,
|
|
34
|
-
refetch: jest.fn()
|
|
35
|
-
}, {
|
|
36
|
-
status: 'error',
|
|
37
|
-
error: {
|
|
38
|
-
message: 'Error'
|
|
39
|
-
},
|
|
40
|
-
refetch: jest.fn()
|
|
41
|
-
}];
|
|
42
|
-
var _renderHook = renderHook(function () {
|
|
43
|
-
return useQueryResponses(responses);
|
|
44
|
-
}),
|
|
45
|
-
result = _renderHook.result;
|
|
46
|
-
expect(getStatus).toHaveBeenCalledWith(responses);
|
|
47
|
-
expect(getError).toHaveBeenCalledWith(responses);
|
|
48
|
-
expect(useRefetchAll).toHaveBeenCalledWith(responses);
|
|
49
|
-
expect(useRefetchErrored).toHaveBeenCalledWith(responses);
|
|
50
|
-
expect(result.current).toEqual({
|
|
51
|
-
status: 'success',
|
|
52
|
-
error: null,
|
|
53
|
-
refetch: mockRefetchAll,
|
|
54
|
-
refetchErrored: mockRefetchErrored
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
it('should handle empty responses array', function () {
|
|
58
|
-
var _renderHook2 = renderHook(function () {
|
|
59
|
-
return useQueryResponses([]);
|
|
60
|
-
}),
|
|
61
|
-
result = _renderHook2.result;
|
|
62
|
-
expect(getStatus).toHaveBeenCalledWith([]);
|
|
63
|
-
expect(getError).toHaveBeenCalledWith([]);
|
|
64
|
-
expect(useRefetchAll).toHaveBeenCalledWith([]);
|
|
65
|
-
expect(useRefetchErrored).toHaveBeenCalledWith([]);
|
|
66
|
-
expect(result.current).toEqual({
|
|
67
|
-
status: 'success',
|
|
68
|
-
error: null,
|
|
69
|
-
refetch: mockRefetchAll,
|
|
70
|
-
refetchErrored: mockRefetchErrored
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
// #sourceMappingURL=useQueryResponses.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["renderHook","getError","getStatus","useQueryResponses","useRefetchAll","useRefetchErrored","jest","mock","originalModule","requireActual","_objectSpread","fn","describe","mockRefetchAll","mockRefetchErrored","beforeEach","clearAllMocks","mockReturnValue","it","responses","status","error","refetch","message","_renderHook","result","expect","toHaveBeenCalledWith","current","toEqual","refetchErrored","_renderHook2"],"sources":["useQueryResponses.test.ts"],"sourcesContent":["import {renderHook} from '@testing-library/react';\n\nimport {getError, getStatus} from '../../../core';\nimport type {DataLoaderStatus} from '../../../core/types/DataLoaderStatus';\nimport {useQueryResponses} from '../useQueryResponses';\nimport {useRefetchAll} from '../useRefetchAll';\nimport {useRefetchErrored} from '../useRefetchErrored';\n\njest.mock('../useRefetchAll');\njest.mock('../useRefetchErrored');\njest.mock('../../../core', () => {\n const originalModule = jest.requireActual('../../../core');\n return {\n ...originalModule,\n getStatus: jest.fn(),\n getError: jest.fn(),\n };\n});\n\ndescribe('useQueryResponses', () => {\n const mockRefetchAll = jest.fn();\n const mockRefetchErrored = jest.fn();\n\n beforeEach(() => {\n jest.clearAllMocks();\n\n (useRefetchAll as jest.Mock).mockReturnValue(mockRefetchAll);\n (useRefetchErrored as jest.Mock).mockReturnValue(mockRefetchErrored);\n (getStatus as jest.Mock).mockReturnValue('success');\n (getError as jest.Mock).mockReturnValue(null);\n });\n\n it('should return combined status, error, and refetch functions', () => {\n const responses = [\n {status: 'loading' as DataLoaderStatus, error: null, refetch: jest.fn()},\n {status: 'success' as DataLoaderStatus, error: null, refetch: jest.fn()},\n {status: 'error' as DataLoaderStatus, error: {message: 'Error'}, refetch: jest.fn()},\n ];\n\n const {result} = renderHook(() => useQueryResponses(responses));\n\n expect(getStatus).toHaveBeenCalledWith(responses);\n expect(getError).toHaveBeenCalledWith(responses);\n expect(useRefetchAll).toHaveBeenCalledWith(responses);\n expect(useRefetchErrored).toHaveBeenCalledWith(responses);\n expect(result.current).toEqual({\n status: 'success',\n error: null,\n refetch: mockRefetchAll,\n refetchErrored: mockRefetchErrored,\n });\n });\n\n it('should handle empty responses array', () => {\n const {result} = renderHook(() => useQueryResponses([]));\n\n expect(getStatus).toHaveBeenCalledWith([]);\n expect(getError).toHaveBeenCalledWith([]);\n expect(useRefetchAll).toHaveBeenCalledWith([]);\n expect(useRefetchErrored).toHaveBeenCalledWith([]);\n expect(result.current).toEqual({\n status: 'success',\n error: null,\n refetch: mockRefetchAll,\n refetchErrored: mockRefetchErrored,\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { act, renderHook } from '@testing-library/react';
|
|
2
|
-
import { useRefetchAll } from '../useRefetchAll';
|
|
3
|
-
describe('useRefetchAll', function () {
|
|
4
|
-
it('should return a function that calls refetch on all states', function () {
|
|
5
|
-
var refetch1 = jest.fn();
|
|
6
|
-
var refetch2 = jest.fn();
|
|
7
|
-
var refetch3 = jest.fn();
|
|
8
|
-
var states = [{
|
|
9
|
-
refetch: refetch1
|
|
10
|
-
}, {
|
|
11
|
-
refetch: refetch2
|
|
12
|
-
}, {
|
|
13
|
-
refetch: refetch3
|
|
14
|
-
}];
|
|
15
|
-
var _renderHook = renderHook(function () {
|
|
16
|
-
return useRefetchAll(states);
|
|
17
|
-
}),
|
|
18
|
-
result = _renderHook.result;
|
|
19
|
-
expect(result.current).toEqual(expect.any(Function));
|
|
20
|
-
act(function () {
|
|
21
|
-
result.current();
|
|
22
|
-
});
|
|
23
|
-
expect(refetch1).toHaveBeenCalledTimes(1);
|
|
24
|
-
expect(refetch2).toHaveBeenCalledTimes(1);
|
|
25
|
-
expect(refetch3).toHaveBeenCalledTimes(1);
|
|
26
|
-
});
|
|
27
|
-
it('should handle empty states array', function () {
|
|
28
|
-
var _renderHook2 = renderHook(function () {
|
|
29
|
-
return useRefetchAll([]);
|
|
30
|
-
}),
|
|
31
|
-
result = _renderHook2.result;
|
|
32
|
-
act(function () {
|
|
33
|
-
result.current();
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
it('should memoize the refetch function when dependencies do not change', function () {
|
|
37
|
-
var refetch1 = jest.fn();
|
|
38
|
-
var refetch2 = jest.fn();
|
|
39
|
-
var states = [{
|
|
40
|
-
refetch: refetch1
|
|
41
|
-
}, {
|
|
42
|
-
refetch: refetch2
|
|
43
|
-
}];
|
|
44
|
-
var _renderHook3 = renderHook(function () {
|
|
45
|
-
return useRefetchAll(states);
|
|
46
|
-
}),
|
|
47
|
-
result = _renderHook3.result,
|
|
48
|
-
rerender = _renderHook3.rerender;
|
|
49
|
-
var firstRefetchAll = result.current;
|
|
50
|
-
rerender();
|
|
51
|
-
expect(result.current).toBe(firstRefetchAll);
|
|
52
|
-
});
|
|
53
|
-
it('should create a new refetch function when dependencies change', function () {
|
|
54
|
-
var refetch1 = jest.fn();
|
|
55
|
-
var refetch2 = jest.fn();
|
|
56
|
-
var refetch3 = jest.fn();
|
|
57
|
-
var states = [{
|
|
58
|
-
refetch: refetch1
|
|
59
|
-
}, {
|
|
60
|
-
refetch: refetch2
|
|
61
|
-
}];
|
|
62
|
-
var _renderHook4 = renderHook(function () {
|
|
63
|
-
return useRefetchAll(states);
|
|
64
|
-
}),
|
|
65
|
-
result = _renderHook4.result,
|
|
66
|
-
rerender = _renderHook4.rerender;
|
|
67
|
-
var firstRefetchAll = result.current;
|
|
68
|
-
states = [{
|
|
69
|
-
refetch: refetch1
|
|
70
|
-
}, {
|
|
71
|
-
refetch: refetch3
|
|
72
|
-
}];
|
|
73
|
-
rerender();
|
|
74
|
-
expect(result.current).not.toBe(firstRefetchAll);
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
// #sourceMappingURL=useRefetchAll.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["act","renderHook","useRefetchAll","describe","it","refetch1","jest","fn","refetch2","refetch3","states","refetch","_renderHook","result","expect","current","toEqual","any","Function","toHaveBeenCalledTimes","_renderHook2","_renderHook3","rerender","firstRefetchAll","toBe","_renderHook4","not"],"sources":["useRefetchAll.test.ts"],"sourcesContent":["import {act, renderHook} from '@testing-library/react';\n\nimport {useRefetchAll} from '../useRefetchAll';\n\ndescribe('useRefetchAll', () => {\n it('should return a function that calls refetch on all states', () => {\n const refetch1 = jest.fn();\n const refetch2 = jest.fn();\n const refetch3 = jest.fn();\n\n const states = [{refetch: refetch1}, {refetch: refetch2}, {refetch: refetch3}];\n\n const {result} = renderHook(() => useRefetchAll(states));\n\n expect(result.current).toEqual(expect.any(Function));\n\n act(() => {\n result.current();\n });\n\n expect(refetch1).toHaveBeenCalledTimes(1);\n expect(refetch2).toHaveBeenCalledTimes(1);\n expect(refetch3).toHaveBeenCalledTimes(1);\n });\n\n it('should handle empty states array', () => {\n const {result} = renderHook(() => useRefetchAll([]));\n\n act(() => {\n result.current();\n });\n });\n\n it('should memoize the refetch function when dependencies do not change', () => {\n const refetch1 = jest.fn();\n const refetch2 = jest.fn();\n\n const states = [{refetch: refetch1}, {refetch: refetch2}];\n\n const {result, rerender} = renderHook(() => useRefetchAll(states));\n\n const firstRefetchAll = result.current;\n\n rerender();\n\n expect(result.current).toBe(firstRefetchAll);\n });\n\n it('should create a new refetch function when dependencies change', () => {\n const refetch1 = jest.fn();\n const refetch2 = jest.fn();\n const refetch3 = jest.fn();\n\n let states = [{refetch: refetch1}, {refetch: refetch2}];\n\n const {result, rerender} = renderHook(() => useRefetchAll(states));\n\n const firstRefetchAll = result.current;\n\n states = [{refetch: refetch1}, {refetch: refetch3}];\n\n rerender();\n\n expect(result.current).not.toBe(firstRefetchAll);\n });\n});\n"],"mappings":"AAAA,SAAQA,GAAG,EAAEC,UAAU,QAAO,wBAAwB;AAEtD,SAAQC,aAAa,QAAO,kBAAkB;AAE9CC,QAAQ,CAAC,eAAe,EAAE,YAAM;EAC5BC,EAAE,CAAC,2DAA2D,EAAE,YAAM;IAClE,IAAMC,QAAQ,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;IAC1B,IAAMC,QAAQ,GAAGF,IAAI,CAACC,EAAE,CAAC,CAAC;IAC1B,IAAME,QAAQ,GAAGH,IAAI,CAACC,EAAE,CAAC,CAAC;IAE1B,IAAMG,MAAM,GAAG,CAAC;MAACC,OAAO,EAAEN;IAAQ,CAAC,EAAE;MAACM,OAAO,EAAEH;IAAQ,CAAC,EAAE;MAACG,OAAO,EAAEF;IAAQ,CAAC,CAAC;IAE9E,IAAAG,WAAA,GAAiBX,UAAU,CAAC;QAAA,OAAMC,aAAa,CAACQ,MAAM,CAAC;MAAA,EAAC;MAAjDG,MAAM,GAAAD,WAAA,CAANC,MAAM;IAEbC,MAAM,CAACD,MAAM,CAACE,OAAO,CAAC,CAACC,OAAO,CAACF,MAAM,CAACG,GAAG,CAACC,QAAQ,CAAC,CAAC;IAEpDlB,GAAG,CAAC,YAAM;MACNa,MAAM,CAACE,OAAO,CAAC,CAAC;IACpB,CAAC,CAAC;IAEFD,MAAM,CAACT,QAAQ,CAAC,CAACc,qBAAqB,CAAC,CAAC,CAAC;IACzCL,MAAM,CAACN,QAAQ,CAAC,CAACW,qBAAqB,CAAC,CAAC,CAAC;IACzCL,MAAM,CAACL,QAAQ,CAAC,CAACU,qBAAqB,CAAC,CAAC,CAAC;EAC7C,CAAC,CAAC;EAEFf,EAAE,CAAC,kCAAkC,EAAE,YAAM;IACzC,IAAAgB,YAAA,GAAiBnB,UAAU,CAAC;QAAA,OAAMC,aAAa,CAAC,EAAE,CAAC;MAAA,EAAC;MAA7CW,MAAM,GAAAO,YAAA,CAANP,MAAM;IAEbb,GAAG,CAAC,YAAM;MACNa,MAAM,CAACE,OAAO,CAAC,CAAC;IACpB,CAAC,CAAC;EACN,CAAC,CAAC;EAEFX,EAAE,CAAC,qEAAqE,EAAE,YAAM;IAC5E,IAAMC,QAAQ,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;IAC1B,IAAMC,QAAQ,GAAGF,IAAI,CAACC,EAAE,CAAC,CAAC;IAE1B,IAAMG,MAAM,GAAG,CAAC;MAACC,OAAO,EAAEN;IAAQ,CAAC,EAAE;MAACM,OAAO,EAAEH;IAAQ,CAAC,CAAC;IAEzD,IAAAa,YAAA,GAA2BpB,UAAU,CAAC;QAAA,OAAMC,aAAa,CAACQ,MAAM,CAAC;MAAA,EAAC;MAA3DG,MAAM,GAAAQ,YAAA,CAANR,MAAM;MAAES,QAAQ,GAAAD,YAAA,CAARC,QAAQ;IAEvB,IAAMC,eAAe,GAAGV,MAAM,CAACE,OAAO;IAEtCO,QAAQ,CAAC,CAAC;IAEVR,MAAM,CAACD,MAAM,CAACE,OAAO,CAAC,CAACS,IAAI,CAACD,eAAe,CAAC;EAChD,CAAC,CAAC;EAEFnB,EAAE,CAAC,+DAA+D,EAAE,YAAM;IACtE,IAAMC,QAAQ,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;IAC1B,IAAMC,QAAQ,GAAGF,IAAI,CAACC,EAAE,CAAC,CAAC;IAC1B,IAAME,QAAQ,GAAGH,IAAI,CAACC,EAAE,CAAC,CAAC;IAE1B,IAAIG,MAAM,GAAG,CAAC;MAACC,OAAO,EAAEN;IAAQ,CAAC,EAAE;MAACM,OAAO,EAAEH;IAAQ,CAAC,CAAC;IAEvD,IAAAiB,YAAA,GAA2BxB,UAAU,CAAC;QAAA,OAAMC,aAAa,CAACQ,MAAM,CAAC;MAAA,EAAC;MAA3DG,MAAM,GAAAY,YAAA,CAANZ,MAAM;MAAES,QAAQ,GAAAG,YAAA,CAARH,QAAQ;IAEvB,IAAMC,eAAe,GAAGV,MAAM,CAACE,OAAO;IAEtCL,MAAM,GAAG,CAAC;MAACC,OAAO,EAAEN;IAAQ,CAAC,EAAE;MAACM,OAAO,EAAEF;IAAQ,CAAC,CAAC;IAEnDa,QAAQ,CAAC,CAAC;IAEVR,MAAM,CAACD,MAAM,CAACE,OAAO,CAAC,CAACW,GAAG,CAACF,IAAI,CAACD,eAAe,CAAC;EACpD,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { act, renderHook } from '@testing-library/react';
|
|
2
|
-
import { useRefetchErrored } from '../useRefetchErrored';
|
|
3
|
-
describe('useRefetchErrored', function () {
|
|
4
|
-
it('should return a function that calls refetch only on states with errors', function () {
|
|
5
|
-
var refetch1 = jest.fn();
|
|
6
|
-
var refetch2 = jest.fn();
|
|
7
|
-
var refetch3 = jest.fn();
|
|
8
|
-
var states = [{
|
|
9
|
-
error: {
|
|
10
|
-
message: 'Error 1'
|
|
11
|
-
},
|
|
12
|
-
refetch: refetch1
|
|
13
|
-
}, {
|
|
14
|
-
error: null,
|
|
15
|
-
refetch: refetch2
|
|
16
|
-
}, {
|
|
17
|
-
error: {
|
|
18
|
-
message: 'Error 3'
|
|
19
|
-
},
|
|
20
|
-
refetch: refetch3
|
|
21
|
-
}];
|
|
22
|
-
var _renderHook = renderHook(function () {
|
|
23
|
-
return useRefetchErrored(states);
|
|
24
|
-
}),
|
|
25
|
-
result = _renderHook.result;
|
|
26
|
-
expect(result.current).toEqual(expect.any(Function));
|
|
27
|
-
act(function () {
|
|
28
|
-
result.current();
|
|
29
|
-
});
|
|
30
|
-
expect(refetch1).toHaveBeenCalledTimes(1);
|
|
31
|
-
expect(refetch2).toHaveBeenCalledTimes(0);
|
|
32
|
-
expect(refetch3).toHaveBeenCalledTimes(1);
|
|
33
|
-
});
|
|
34
|
-
it('should not call refetch if no states have errors', function () {
|
|
35
|
-
var refetch1 = jest.fn();
|
|
36
|
-
var refetch2 = jest.fn();
|
|
37
|
-
var states = [{
|
|
38
|
-
error: null,
|
|
39
|
-
refetch: refetch1
|
|
40
|
-
}, {
|
|
41
|
-
error: null,
|
|
42
|
-
refetch: refetch2
|
|
43
|
-
}];
|
|
44
|
-
var _renderHook2 = renderHook(function () {
|
|
45
|
-
return useRefetchErrored(states);
|
|
46
|
-
}),
|
|
47
|
-
result = _renderHook2.result;
|
|
48
|
-
act(function () {
|
|
49
|
-
result.current();
|
|
50
|
-
});
|
|
51
|
-
expect(refetch1).not.toHaveBeenCalled();
|
|
52
|
-
expect(refetch2).not.toHaveBeenCalled();
|
|
53
|
-
});
|
|
54
|
-
it('should handle empty states array', function () {
|
|
55
|
-
var _renderHook3 = renderHook(function () {
|
|
56
|
-
return useRefetchErrored([]);
|
|
57
|
-
}),
|
|
58
|
-
result = _renderHook3.result;
|
|
59
|
-
act(function () {
|
|
60
|
-
result.current();
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
it('should memoize the refetch function when dependencies do not change', function () {
|
|
64
|
-
var refetch1 = jest.fn();
|
|
65
|
-
var refetch2 = jest.fn();
|
|
66
|
-
var states = [{
|
|
67
|
-
error: {
|
|
68
|
-
message: 'Error 1'
|
|
69
|
-
},
|
|
70
|
-
refetch: refetch1
|
|
71
|
-
}, {
|
|
72
|
-
error: null,
|
|
73
|
-
refetch: refetch2
|
|
74
|
-
}];
|
|
75
|
-
var _renderHook4 = renderHook(function () {
|
|
76
|
-
return useRefetchErrored(states);
|
|
77
|
-
}),
|
|
78
|
-
result = _renderHook4.result,
|
|
79
|
-
rerender = _renderHook4.rerender;
|
|
80
|
-
var firstRefetchErrored = result.current;
|
|
81
|
-
rerender();
|
|
82
|
-
expect(result.current).toBe(firstRefetchErrored);
|
|
83
|
-
});
|
|
84
|
-
it('should create a new refetch function when dependencies change', function () {
|
|
85
|
-
var refetch1 = jest.fn();
|
|
86
|
-
var refetch2 = jest.fn();
|
|
87
|
-
var states = [{
|
|
88
|
-
error: {
|
|
89
|
-
message: 'Error 1'
|
|
90
|
-
},
|
|
91
|
-
refetch: refetch1
|
|
92
|
-
}, {
|
|
93
|
-
error: null,
|
|
94
|
-
refetch: refetch2
|
|
95
|
-
}];
|
|
96
|
-
var _renderHook5 = renderHook(function () {
|
|
97
|
-
return useRefetchErrored(states);
|
|
98
|
-
}),
|
|
99
|
-
result = _renderHook5.result,
|
|
100
|
-
rerender = _renderHook5.rerender;
|
|
101
|
-
var firstRefetchErrored = result.current;
|
|
102
|
-
states = [{
|
|
103
|
-
error: {
|
|
104
|
-
message: 'New Error 1'
|
|
105
|
-
},
|
|
106
|
-
refetch: refetch1
|
|
107
|
-
}, {
|
|
108
|
-
error: null,
|
|
109
|
-
refetch: refetch2
|
|
110
|
-
}];
|
|
111
|
-
rerender();
|
|
112
|
-
expect(result.current).not.toBe(firstRefetchErrored);
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
// #sourceMappingURL=useRefetchErrored.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["act","renderHook","useRefetchErrored","describe","it","refetch1","jest","fn","refetch2","refetch3","states","error","message","refetch","_renderHook","result","expect","current","toEqual","any","Function","toHaveBeenCalledTimes","_renderHook2","not","toHaveBeenCalled","_renderHook3","_renderHook4","rerender","firstRefetchErrored","toBe","_renderHook5"],"sources":["useRefetchErrored.test.ts"],"sourcesContent":["import {act, renderHook} from '@testing-library/react';\n\nimport {useRefetchErrored} from '../useRefetchErrored';\n\ndescribe('useRefetchErrored', () => {\n it('should return a function that calls refetch only on states with errors', () => {\n const refetch1 = jest.fn();\n const refetch2 = jest.fn();\n const refetch3 = jest.fn();\n\n const states = [\n {error: {message: 'Error 1'}, refetch: refetch1},\n {error: null, refetch: refetch2},\n {error: {message: 'Error 3'}, refetch: refetch3},\n ];\n\n const {result} = renderHook(() => useRefetchErrored(states));\n\n expect(result.current).toEqual(expect.any(Function));\n\n act(() => {\n result.current();\n });\n\n expect(refetch1).toHaveBeenCalledTimes(1);\n expect(refetch2).toHaveBeenCalledTimes(0);\n expect(refetch3).toHaveBeenCalledTimes(1);\n });\n\n it('should not call refetch if no states have errors', () => {\n const refetch1 = jest.fn();\n const refetch2 = jest.fn();\n\n const states = [\n {error: null, refetch: refetch1},\n {error: null, refetch: refetch2},\n ];\n\n const {result} = renderHook(() => useRefetchErrored(states));\n\n act(() => {\n result.current();\n });\n\n expect(refetch1).not.toHaveBeenCalled();\n expect(refetch2).not.toHaveBeenCalled();\n });\n\n it('should handle empty states array', () => {\n const {result} = renderHook(() => useRefetchErrored([]));\n\n act(() => {\n result.current();\n });\n });\n\n it('should memoize the refetch function when dependencies do not change', () => {\n const refetch1 = jest.fn();\n const refetch2 = jest.fn();\n\n const states = [\n {error: {message: 'Error 1'}, refetch: refetch1},\n {error: null, refetch: refetch2},\n ];\n\n const {result, rerender} = renderHook(() => useRefetchErrored(states));\n\n const firstRefetchErrored = result.current;\n\n rerender();\n\n expect(result.current).toBe(firstRefetchErrored);\n });\n\n it('should create a new refetch function when dependencies change', () => {\n const refetch1 = jest.fn();\n const refetch2 = jest.fn();\n\n let states = [\n {error: {message: 'Error 1'}, refetch: refetch1},\n {error: null, refetch: refetch2},\n ];\n\n const {result, rerender} = renderHook(() => useRefetchErrored(states));\n\n const firstRefetchErrored = result.current;\n\n states = [\n {error: {message: 'New Error 1'}, refetch: refetch1},\n {error: null, refetch: refetch2},\n ];\n\n rerender();\n\n expect(result.current).not.toBe(firstRefetchErrored);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { skipToken } from '@tanstack/react-query';
|
|
2
|
-
import { renderHook } from '@testing-library/react';
|
|
3
|
-
import { useRefetchInterval } from '../useRefetchInterval';
|
|
4
|
-
describe('useRefetchInterval', function () {
|
|
5
|
-
it('should return undefined when no refetchInterval is provided', function () {
|
|
6
|
-
var _renderHook = renderHook(function () {
|
|
7
|
-
return useRefetchInterval();
|
|
8
|
-
}),
|
|
9
|
-
result = _renderHook.result;
|
|
10
|
-
expect(result.current.refetchInterval).toBeUndefined();
|
|
11
|
-
expect(result.current.queryFn).toBeUndefined();
|
|
12
|
-
});
|
|
13
|
-
it('should return the provided refetchInterval when it is a number', function () {
|
|
14
|
-
var interval = 5000;
|
|
15
|
-
var _renderHook2 = renderHook(function () {
|
|
16
|
-
return useRefetchInterval(interval);
|
|
17
|
-
}),
|
|
18
|
-
result = _renderHook2.result;
|
|
19
|
-
expect(result.current.refetchInterval).toBe(interval);
|
|
20
|
-
});
|
|
21
|
-
it('should return the provided refetchInterval when it is false', function () {
|
|
22
|
-
var interval = false;
|
|
23
|
-
var _renderHook3 = renderHook(function () {
|
|
24
|
-
return useRefetchInterval(interval);
|
|
25
|
-
}),
|
|
26
|
-
result = _renderHook3.result;
|
|
27
|
-
expect(result.current.refetchInterval).toBe(interval);
|
|
28
|
-
});
|
|
29
|
-
it('should wrap the provided refetchInterval function', function () {
|
|
30
|
-
var mockQuery = {
|
|
31
|
-
state: {
|
|
32
|
-
data: {
|
|
33
|
-
value: 42
|
|
34
|
-
},
|
|
35
|
-
status: 'success'
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var refetchInterval = jest.fn(function (_query, count) {
|
|
39
|
-
return count > 3 ? false : 1000;
|
|
40
|
-
});
|
|
41
|
-
var _renderHook4 = renderHook(function () {
|
|
42
|
-
return useRefetchInterval(refetchInterval);
|
|
43
|
-
}),
|
|
44
|
-
result = _renderHook4.result;
|
|
45
|
-
expect(result.current.refetchInterval).toEqual(expect.any(Function));
|
|
46
|
-
var resultInterval = result.current.refetchInterval(mockQuery);
|
|
47
|
-
expect(refetchInterval).toHaveBeenCalledWith(mockQuery, 0);
|
|
48
|
-
expect(resultInterval).toBe(1000);
|
|
49
|
-
});
|
|
50
|
-
it('should wrap the provided queryFn and increment count on each call', function () {
|
|
51
|
-
var mockContext = {};
|
|
52
|
-
var mockQuery = {
|
|
53
|
-
state: {
|
|
54
|
-
data: {
|
|
55
|
-
value: 42
|
|
56
|
-
},
|
|
57
|
-
status: 'success'
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
var queryFn = jest.fn().mockResolvedValue({
|
|
61
|
-
value: 42
|
|
62
|
-
});
|
|
63
|
-
var refetchInterval = jest.fn(function (_query, count) {
|
|
64
|
-
return count > 3 ? false : 1000;
|
|
65
|
-
});
|
|
66
|
-
var _renderHook5 = renderHook(function () {
|
|
67
|
-
return useRefetchInterval(refetchInterval, queryFn);
|
|
68
|
-
}),
|
|
69
|
-
result = _renderHook5.result;
|
|
70
|
-
expect(result.current.queryFn).toEqual(expect.any(Function));
|
|
71
|
-
expect(result.current.refetchInterval).toEqual(expect.any(Function));
|
|
72
|
-
result.current.queryFn(mockContext);
|
|
73
|
-
result.current.refetchInterval(mockQuery);
|
|
74
|
-
result.current.queryFn(mockContext);
|
|
75
|
-
result.current.refetchInterval(mockQuery);
|
|
76
|
-
result.current.queryFn(mockContext);
|
|
77
|
-
result.current.refetchInterval(mockQuery);
|
|
78
|
-
result.current.queryFn(mockContext);
|
|
79
|
-
result.current.refetchInterval(mockQuery);
|
|
80
|
-
expect(queryFn.mock.calls).toEqual([[mockContext], [mockContext], [mockContext], [mockContext]]);
|
|
81
|
-
expect(refetchInterval.mock.calls).toEqual([[mockQuery, 1], [mockQuery, 2], [mockQuery, 3], [mockQuery, 4]]);
|
|
82
|
-
expect(refetchInterval.mock.results).toEqual([{
|
|
83
|
-
type: 'return',
|
|
84
|
-
value: 1000
|
|
85
|
-
}, {
|
|
86
|
-
type: 'return',
|
|
87
|
-
value: 1000
|
|
88
|
-
}, {
|
|
89
|
-
type: 'return',
|
|
90
|
-
value: 1000
|
|
91
|
-
}, {
|
|
92
|
-
type: 'return',
|
|
93
|
-
value: false
|
|
94
|
-
}]);
|
|
95
|
-
});
|
|
96
|
-
it('should return the provided queryFn when it is not a function', function () {
|
|
97
|
-
var _renderHook6 = renderHook(function () {
|
|
98
|
-
return useRefetchInterval(undefined, skipToken);
|
|
99
|
-
}),
|
|
100
|
-
result = _renderHook6.result;
|
|
101
|
-
expect(result.current.queryFn).toBe(skipToken);
|
|
102
|
-
});
|
|
103
|
-
it('should memoize the wrapped functions', function () {
|
|
104
|
-
var refetchInterval = jest.fn(function () {
|
|
105
|
-
return 1000;
|
|
106
|
-
});
|
|
107
|
-
var queryFn = jest.fn().mockResolvedValue({
|
|
108
|
-
value: 42
|
|
109
|
-
});
|
|
110
|
-
var _renderHook7 = renderHook(function () {
|
|
111
|
-
return useRefetchInterval(refetchInterval, queryFn);
|
|
112
|
-
}),
|
|
113
|
-
result = _renderHook7.result,
|
|
114
|
-
rerender = _renderHook7.rerender;
|
|
115
|
-
var firstRefetchInterval = result.current.refetchInterval;
|
|
116
|
-
var firstQueryFn = result.current.queryFn;
|
|
117
|
-
rerender();
|
|
118
|
-
expect(result.current.refetchInterval).toBe(firstRefetchInterval);
|
|
119
|
-
expect(result.current.queryFn).toBe(firstQueryFn);
|
|
120
|
-
});
|
|
121
|
-
it('should create new functions when dependencies change', function () {
|
|
122
|
-
var refetchInterval1 = jest.fn(function () {
|
|
123
|
-
return 1000;
|
|
124
|
-
});
|
|
125
|
-
var queryFn1 = jest.fn().mockResolvedValue({
|
|
126
|
-
value: 42
|
|
127
|
-
});
|
|
128
|
-
var _renderHook8 = renderHook(function (props) {
|
|
129
|
-
return useRefetchInterval(props.refetchInterval, props.queryFn);
|
|
130
|
-
}, {
|
|
131
|
-
initialProps: {
|
|
132
|
-
refetchInterval: refetchInterval1,
|
|
133
|
-
queryFn: queryFn1
|
|
134
|
-
}
|
|
135
|
-
}),
|
|
136
|
-
result = _renderHook8.result,
|
|
137
|
-
rerender = _renderHook8.rerender;
|
|
138
|
-
var firstRefetchInterval = result.current.refetchInterval;
|
|
139
|
-
var firstQueryFn = result.current.queryFn;
|
|
140
|
-
var refetchInterval2 = jest.fn(function () {
|
|
141
|
-
return 2000;
|
|
142
|
-
});
|
|
143
|
-
var queryFn2 = jest.fn().mockResolvedValue({
|
|
144
|
-
value: 100
|
|
145
|
-
});
|
|
146
|
-
rerender({
|
|
147
|
-
refetchInterval: refetchInterval2,
|
|
148
|
-
queryFn: queryFn2
|
|
149
|
-
});
|
|
150
|
-
expect(result.current.refetchInterval).not.toBe(firstRefetchInterval);
|
|
151
|
-
expect(result.current.queryFn).not.toBe(firstQueryFn);
|
|
152
|
-
});
|
|
153
|
-
});
|
|
154
|
-
// #sourceMappingURL=useRefetchInterval.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["skipToken","renderHook","useRefetchInterval","describe","it","_renderHook","result","expect","current","refetchInterval","toBeUndefined","queryFn","interval","_renderHook2","toBe","_renderHook3","mockQuery","state","data","value","status","jest","fn","_query","count","_renderHook4","toEqual","any","Function","resultInterval","toHaveBeenCalledWith","mockContext","mockResolvedValue","_renderHook5","mock","calls","results","type","_renderHook6","undefined","_renderHook7","rerender","firstRefetchInterval","firstQueryFn","refetchInterval1","queryFn1","_renderHook8","props","initialProps","refetchInterval2","queryFn2","not"],"sources":["useRefetchInterval.test.ts"],"sourcesContent":["import {type Query, skipToken} from '@tanstack/react-query';\nimport {renderHook} from '@testing-library/react';\n\nimport {useRefetchInterval} from '../useRefetchInterval';\n\ndescribe('useRefetchInterval', () => {\n it('should return undefined when no refetchInterval is provided', () => {\n const {result} = renderHook(() => useRefetchInterval());\n\n expect(result.current.refetchInterval).toBeUndefined();\n expect(result.current.queryFn).toBeUndefined();\n });\n\n it('should return the provided refetchInterval when it is a number', () => {\n const interval = 5000;\n const {result} = renderHook(() => useRefetchInterval(interval));\n\n expect(result.current.refetchInterval).toBe(interval);\n });\n\n it('should return the provided refetchInterval when it is false', () => {\n const interval = false;\n const {result} = renderHook(() => useRefetchInterval(interval));\n\n expect(result.current.refetchInterval).toBe(interval);\n });\n\n it('should wrap the provided refetchInterval function', () => {\n const mockQuery = {\n state: {\n data: {value: 42},\n status: 'success',\n },\n } as Query;\n\n const refetchInterval = jest.fn((_query, count) => {\n return count > 3 ? false : 1000;\n });\n\n const {result} = renderHook(() => useRefetchInterval(refetchInterval));\n\n expect(result.current.refetchInterval).toEqual(expect.any(Function));\n\n const resultInterval = (result.current.refetchInterval as Function)(mockQuery);\n\n expect(refetchInterval).toHaveBeenCalledWith(mockQuery, 0);\n expect(resultInterval).toBe(1000);\n });\n\n it('should wrap the provided queryFn and increment count on each call', () => {\n const mockContext = {};\n const mockQuery = {\n state: {\n data: {value: 42},\n status: 'success',\n },\n } as Query;\n\n const queryFn = jest.fn().mockResolvedValue({value: 42});\n const refetchInterval = jest.fn((_query, count) => {\n return count > 3 ? false : 1000;\n });\n\n const {result} = renderHook(() => useRefetchInterval(refetchInterval, queryFn));\n\n expect(result.current.queryFn).toEqual(expect.any(Function));\n expect(result.current.refetchInterval).toEqual(expect.any(Function));\n\n (result.current.queryFn as Function)(mockContext);\n (result.current.refetchInterval as Function)(mockQuery);\n (result.current.queryFn as Function)(mockContext);\n (result.current.refetchInterval as Function)(mockQuery);\n (result.current.queryFn as Function)(mockContext);\n (result.current.refetchInterval as Function)(mockQuery);\n (result.current.queryFn as Function)(mockContext);\n (result.current.refetchInterval as Function)(mockQuery);\n\n expect(queryFn.mock.calls).toEqual([\n [mockContext],\n [mockContext],\n [mockContext],\n [mockContext],\n ]);\n expect(refetchInterval.mock.calls).toEqual([\n [mockQuery, 1],\n [mockQuery, 2],\n [mockQuery, 3],\n [mockQuery, 4],\n ]);\n expect(refetchInterval.mock.results).toEqual([\n {type: 'return', value: 1000},\n {type: 'return', value: 1000},\n {type: 'return', value: 1000},\n {type: 'return', value: false},\n ]);\n });\n\n it('should return the provided queryFn when it is not a function', () => {\n const {result} = renderHook(() => useRefetchInterval(undefined, skipToken));\n\n expect(result.current.queryFn).toBe(skipToken);\n });\n\n it('should memoize the wrapped functions', () => {\n const refetchInterval = jest.fn(() => 1000);\n const queryFn = jest.fn().mockResolvedValue({value: 42});\n\n const {result, rerender} = renderHook(() => useRefetchInterval(refetchInterval, queryFn));\n\n const firstRefetchInterval = result.current.refetchInterval;\n const firstQueryFn = result.current.queryFn;\n\n rerender();\n\n expect(result.current.refetchInterval).toBe(firstRefetchInterval);\n expect(result.current.queryFn).toBe(firstQueryFn);\n });\n\n it('should create new functions when dependencies change', () => {\n const refetchInterval1 = jest.fn(() => 1000);\n const queryFn1 = jest.fn().mockResolvedValue({value: 42});\n\n const {result, rerender} = renderHook(\n (props) => useRefetchInterval(props.refetchInterval, props.queryFn),\n {\n initialProps: {\n refetchInterval: refetchInterval1,\n queryFn: queryFn1,\n },\n },\n );\n\n const firstRefetchInterval = result.current.refetchInterval;\n const firstQueryFn = result.current.queryFn;\n\n const refetchInterval2 = jest.fn(() => 2000);\n const queryFn2 = jest.fn().mockResolvedValue({value: 100});\n\n rerender({\n refetchInterval: refetchInterval2,\n queryFn: queryFn2,\n });\n\n expect(result.current.refetchInterval).not.toBe(firstRefetchInterval);\n expect(result.current.queryFn).not.toBe(firstQueryFn);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|