@tanstack/query-core 5.50.1 → 5.51.3
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/package.json +1 -1
- package/src/__tests__/hydration.test.tsx +4 -2
- package/src/__tests__/infiniteQueryObserver.test.tsx +6 -2
- package/src/__tests__/query.test.tsx +15 -11
- package/src/__tests__/queryClient.test.tsx +96 -32
- package/src/__tests__/queryObserver.test.tsx +24 -8
- package/src/__tests__/utils.ts +2 -2
package/package.json
CHANGED
|
@@ -75,7 +75,8 @@ describe('dehydration and rehydration', () => {
|
|
|
75
75
|
key: [{ nestedKey: 1 }],
|
|
76
76
|
})
|
|
77
77
|
|
|
78
|
-
const fetchDataAfterHydration =
|
|
78
|
+
const fetchDataAfterHydration =
|
|
79
|
+
vi.fn<(...args: Array<unknown>) => unknown>()
|
|
79
80
|
await hydrationClient.prefetchQuery({
|
|
80
81
|
queryKey: ['string'],
|
|
81
82
|
queryFn: fetchDataAfterHydration,
|
|
@@ -280,7 +281,8 @@ describe('dehydration and rehydration', () => {
|
|
|
280
281
|
})?.state.data,
|
|
281
282
|
).toBe('string')
|
|
282
283
|
|
|
283
|
-
const fetchDataAfterHydration =
|
|
284
|
+
const fetchDataAfterHydration =
|
|
285
|
+
vi.fn<(...args: Array<unknown>) => unknown>()
|
|
284
286
|
await hydrationClient.prefetchQuery({
|
|
285
287
|
queryKey: ['string', { key: ['string'], key2: 0 }],
|
|
286
288
|
queryFn: fetchDataAfterHydration,
|
|
@@ -106,7 +106,9 @@ describe('InfiniteQueryObserver', () => {
|
|
|
106
106
|
test('should stop refetching if undefined is returned from getNextPageParam', async () => {
|
|
107
107
|
const key = queryKey()
|
|
108
108
|
let next: number | undefined = 2
|
|
109
|
-
const queryFn = vi.fn<any
|
|
109
|
+
const queryFn = vi.fn<(...args: Array<any>) => any>(({ pageParam }) =>
|
|
110
|
+
String(pageParam),
|
|
111
|
+
)
|
|
110
112
|
const observer = new InfiniteQueryObserver(queryClient, {
|
|
111
113
|
queryKey: key,
|
|
112
114
|
queryFn,
|
|
@@ -133,7 +135,9 @@ describe('InfiniteQueryObserver', () => {
|
|
|
133
135
|
test('should stop refetching if null is returned from getNextPageParam', async () => {
|
|
134
136
|
const key = queryKey()
|
|
135
137
|
let next: number | null = 2
|
|
136
|
-
const queryFn = vi.fn<any
|
|
138
|
+
const queryFn = vi.fn<(...args: Array<any>) => any>(({ pageParam }) =>
|
|
139
|
+
String(pageParam),
|
|
140
|
+
)
|
|
137
141
|
const observer = new InfiniteQueryObserver(queryClient, {
|
|
138
142
|
queryKey: key,
|
|
139
143
|
queryFn,
|
|
@@ -196,8 +196,9 @@ describe('query', () => {
|
|
|
196
196
|
|
|
197
197
|
const queryFn = vi
|
|
198
198
|
.fn<
|
|
199
|
-
|
|
200
|
-
|
|
199
|
+
(
|
|
200
|
+
context: QueryFunctionContext<ReturnType<typeof queryKey>>,
|
|
201
|
+
) => Promise<'data'>
|
|
201
202
|
>()
|
|
202
203
|
.mockResolvedValue('data')
|
|
203
204
|
|
|
@@ -280,10 +281,12 @@ describe('query', () => {
|
|
|
280
281
|
test('should provide an AbortSignal to the queryFn that provides info about the cancellation state', async () => {
|
|
281
282
|
const key = queryKey()
|
|
282
283
|
|
|
283
|
-
const queryFn =
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
284
|
+
const queryFn =
|
|
285
|
+
vi.fn<
|
|
286
|
+
(
|
|
287
|
+
context: QueryFunctionContext<ReturnType<typeof queryKey>>,
|
|
288
|
+
) => Promise<unknown>
|
|
289
|
+
>()
|
|
287
290
|
const onAbort = vi.fn()
|
|
288
291
|
const abortListener = vi.fn()
|
|
289
292
|
let error
|
|
@@ -330,7 +333,7 @@ describe('query', () => {
|
|
|
330
333
|
test('should not continue if explicitly cancelled', async () => {
|
|
331
334
|
const key = queryKey()
|
|
332
335
|
|
|
333
|
-
const queryFn = vi.fn<Array<unknown
|
|
336
|
+
const queryFn = vi.fn<(...args: Array<unknown>) => unknown>()
|
|
334
337
|
|
|
335
338
|
queryFn.mockImplementation(async () => {
|
|
336
339
|
await sleep(10)
|
|
@@ -362,7 +365,7 @@ describe('query', () => {
|
|
|
362
365
|
test('should not error if reset while pending', async () => {
|
|
363
366
|
const key = queryKey()
|
|
364
367
|
|
|
365
|
-
const queryFn = vi.fn<Array<unknown
|
|
368
|
+
const queryFn = vi.fn<(...args: Array<unknown>) => unknown>()
|
|
366
369
|
|
|
367
370
|
queryFn.mockImplementation(async () => {
|
|
368
371
|
await sleep(10)
|
|
@@ -389,7 +392,7 @@ describe('query', () => {
|
|
|
389
392
|
test('should be able to refetch a cancelled query', async () => {
|
|
390
393
|
const key = queryKey()
|
|
391
394
|
|
|
392
|
-
const queryFn = vi.fn<Array<unknown
|
|
395
|
+
const queryFn = vi.fn<(...args: Array<unknown>) => unknown>()
|
|
393
396
|
|
|
394
397
|
queryFn.mockImplementation(async () => {
|
|
395
398
|
await sleep(50)
|
|
@@ -895,8 +898,9 @@ describe('query', () => {
|
|
|
895
898
|
|
|
896
899
|
const queryFn = vi
|
|
897
900
|
.fn<
|
|
898
|
-
|
|
899
|
-
|
|
901
|
+
(
|
|
902
|
+
context: QueryFunctionContext<ReturnType<typeof queryKey>>,
|
|
903
|
+
) => Promise<unknown>
|
|
900
904
|
>()
|
|
901
905
|
.mockImplementation(({ signal }) => {
|
|
902
906
|
return new Promise((resolve, reject) => {
|
|
@@ -926,7 +926,9 @@ describe('queryClient', () => {
|
|
|
926
926
|
describe('refetchQueries', () => {
|
|
927
927
|
test('should not refetch if all observers are disabled', async () => {
|
|
928
928
|
const key = queryKey()
|
|
929
|
-
const queryFn = vi
|
|
929
|
+
const queryFn = vi
|
|
930
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
931
|
+
.mockReturnValue('data')
|
|
930
932
|
await queryClient.fetchQuery({ queryKey: key, queryFn })
|
|
931
933
|
const observer1 = new QueryObserver(queryClient, {
|
|
932
934
|
queryKey: key,
|
|
@@ -940,7 +942,9 @@ describe('queryClient', () => {
|
|
|
940
942
|
})
|
|
941
943
|
test('should refetch if at least one observer is enabled', async () => {
|
|
942
944
|
const key = queryKey()
|
|
943
|
-
const queryFn = vi
|
|
945
|
+
const queryFn = vi
|
|
946
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
947
|
+
.mockReturnValue('data')
|
|
944
948
|
await queryClient.fetchQuery({ queryKey: key, queryFn })
|
|
945
949
|
const observer1 = new QueryObserver(queryClient, {
|
|
946
950
|
queryKey: key,
|
|
@@ -962,8 +966,12 @@ describe('queryClient', () => {
|
|
|
962
966
|
test('should refetch all queries when no arguments are given', async () => {
|
|
963
967
|
const key1 = queryKey()
|
|
964
968
|
const key2 = queryKey()
|
|
965
|
-
const queryFn1 = vi
|
|
966
|
-
|
|
969
|
+
const queryFn1 = vi
|
|
970
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
971
|
+
.mockReturnValue('data1')
|
|
972
|
+
const queryFn2 = vi
|
|
973
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
974
|
+
.mockReturnValue('data2')
|
|
967
975
|
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
|
|
968
976
|
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
|
|
969
977
|
const observer1 = new QueryObserver(queryClient, {
|
|
@@ -990,8 +998,12 @@ describe('queryClient', () => {
|
|
|
990
998
|
test('should be able to refetch all fresh queries', async () => {
|
|
991
999
|
const key1 = queryKey()
|
|
992
1000
|
const key2 = queryKey()
|
|
993
|
-
const queryFn1 = vi
|
|
994
|
-
|
|
1001
|
+
const queryFn1 = vi
|
|
1002
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1003
|
+
.mockReturnValue('data1')
|
|
1004
|
+
const queryFn2 = vi
|
|
1005
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1006
|
+
.mockReturnValue('data2')
|
|
995
1007
|
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
|
|
996
1008
|
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
|
|
997
1009
|
const observer = new QueryObserver(queryClient, {
|
|
@@ -1009,8 +1021,12 @@ describe('queryClient', () => {
|
|
|
1009
1021
|
test('should be able to refetch all stale queries', async () => {
|
|
1010
1022
|
const key1 = queryKey()
|
|
1011
1023
|
const key2 = queryKey()
|
|
1012
|
-
const queryFn1 = vi
|
|
1013
|
-
|
|
1024
|
+
const queryFn1 = vi
|
|
1025
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1026
|
+
.mockReturnValue('data1')
|
|
1027
|
+
const queryFn2 = vi
|
|
1028
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1029
|
+
.mockReturnValue('data2')
|
|
1014
1030
|
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
|
|
1015
1031
|
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
|
|
1016
1032
|
const observer = new QueryObserver(queryClient, {
|
|
@@ -1029,8 +1045,12 @@ describe('queryClient', () => {
|
|
|
1029
1045
|
test('should be able to refetch all stale and active queries', async () => {
|
|
1030
1046
|
const key1 = queryKey()
|
|
1031
1047
|
const key2 = queryKey()
|
|
1032
|
-
const queryFn1 = vi
|
|
1033
|
-
|
|
1048
|
+
const queryFn1 = vi
|
|
1049
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1050
|
+
.mockReturnValue('data1')
|
|
1051
|
+
const queryFn2 = vi
|
|
1052
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1053
|
+
.mockReturnValue('data2')
|
|
1034
1054
|
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
|
|
1035
1055
|
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
|
|
1036
1056
|
queryClient.invalidateQueries({ queryKey: key1 })
|
|
@@ -1051,8 +1071,12 @@ describe('queryClient', () => {
|
|
|
1051
1071
|
test('should be able to refetch all active and inactive queries', async () => {
|
|
1052
1072
|
const key1 = queryKey()
|
|
1053
1073
|
const key2 = queryKey()
|
|
1054
|
-
const queryFn1 = vi
|
|
1055
|
-
|
|
1074
|
+
const queryFn1 = vi
|
|
1075
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1076
|
+
.mockReturnValue('data1')
|
|
1077
|
+
const queryFn2 = vi
|
|
1078
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1079
|
+
.mockReturnValue('data2')
|
|
1056
1080
|
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
|
|
1057
1081
|
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
|
|
1058
1082
|
const observer = new QueryObserver(queryClient, {
|
|
@@ -1070,8 +1094,12 @@ describe('queryClient', () => {
|
|
|
1070
1094
|
test('should be able to refetch all active and inactive queries', async () => {
|
|
1071
1095
|
const key1 = queryKey()
|
|
1072
1096
|
const key2 = queryKey()
|
|
1073
|
-
const queryFn1 = vi
|
|
1074
|
-
|
|
1097
|
+
const queryFn1 = vi
|
|
1098
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1099
|
+
.mockReturnValue('data1')
|
|
1100
|
+
const queryFn2 = vi
|
|
1101
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1102
|
+
.mockReturnValue('data2')
|
|
1075
1103
|
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
|
|
1076
1104
|
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
|
|
1077
1105
|
const observer = new QueryObserver(queryClient, {
|
|
@@ -1089,8 +1117,12 @@ describe('queryClient', () => {
|
|
|
1089
1117
|
test('should be able to refetch only active queries', async () => {
|
|
1090
1118
|
const key1 = queryKey()
|
|
1091
1119
|
const key2 = queryKey()
|
|
1092
|
-
const queryFn1 = vi
|
|
1093
|
-
|
|
1120
|
+
const queryFn1 = vi
|
|
1121
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1122
|
+
.mockReturnValue('data1')
|
|
1123
|
+
const queryFn2 = vi
|
|
1124
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1125
|
+
.mockReturnValue('data2')
|
|
1094
1126
|
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
|
|
1095
1127
|
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
|
|
1096
1128
|
const observer = new QueryObserver(queryClient, {
|
|
@@ -1108,8 +1140,12 @@ describe('queryClient', () => {
|
|
|
1108
1140
|
test('should be able to refetch only inactive queries', async () => {
|
|
1109
1141
|
const key1 = queryKey()
|
|
1110
1142
|
const key2 = queryKey()
|
|
1111
|
-
const queryFn1 = vi
|
|
1112
|
-
|
|
1143
|
+
const queryFn1 = vi
|
|
1144
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1145
|
+
.mockReturnValue('data1')
|
|
1146
|
+
const queryFn2 = vi
|
|
1147
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1148
|
+
.mockReturnValue('data2')
|
|
1113
1149
|
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
|
|
1114
1150
|
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
|
|
1115
1151
|
const observer = new QueryObserver(queryClient, {
|
|
@@ -1148,7 +1184,9 @@ describe('queryClient', () => {
|
|
|
1148
1184
|
|
|
1149
1185
|
test('should resolve Promise immediately if query is paused', async () => {
|
|
1150
1186
|
const key1 = queryKey()
|
|
1151
|
-
const queryFn1 = vi
|
|
1187
|
+
const queryFn1 = vi
|
|
1188
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1189
|
+
.mockReturnValue('data1')
|
|
1152
1190
|
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
|
|
1153
1191
|
const onlineMock = mockOnlineManagerIsOnline(false)
|
|
1154
1192
|
|
|
@@ -1162,7 +1200,9 @@ describe('queryClient', () => {
|
|
|
1162
1200
|
test('should refetch if query we are offline but query networkMode is always', async () => {
|
|
1163
1201
|
const key1 = queryKey()
|
|
1164
1202
|
queryClient.setQueryDefaults(key1, { networkMode: 'always' })
|
|
1165
|
-
const queryFn1 = vi
|
|
1203
|
+
const queryFn1 = vi
|
|
1204
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1205
|
+
.mockReturnValue('data1')
|
|
1166
1206
|
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
|
|
1167
1207
|
const onlineMock = mockOnlineManagerIsOnline(false)
|
|
1168
1208
|
|
|
@@ -1178,8 +1218,12 @@ describe('queryClient', () => {
|
|
|
1178
1218
|
test('should refetch active queries by default', async () => {
|
|
1179
1219
|
const key1 = queryKey()
|
|
1180
1220
|
const key2 = queryKey()
|
|
1181
|
-
const queryFn1 = vi
|
|
1182
|
-
|
|
1221
|
+
const queryFn1 = vi
|
|
1222
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1223
|
+
.mockReturnValue('data1')
|
|
1224
|
+
const queryFn2 = vi
|
|
1225
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1226
|
+
.mockReturnValue('data2')
|
|
1183
1227
|
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
|
|
1184
1228
|
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
|
|
1185
1229
|
const observer = new QueryObserver(queryClient, {
|
|
@@ -1197,8 +1241,12 @@ describe('queryClient', () => {
|
|
|
1197
1241
|
test('should not refetch inactive queries by default', async () => {
|
|
1198
1242
|
const key1 = queryKey()
|
|
1199
1243
|
const key2 = queryKey()
|
|
1200
|
-
const queryFn1 = vi
|
|
1201
|
-
|
|
1244
|
+
const queryFn1 = vi
|
|
1245
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1246
|
+
.mockReturnValue('data1')
|
|
1247
|
+
const queryFn2 = vi
|
|
1248
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1249
|
+
.mockReturnValue('data2')
|
|
1202
1250
|
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
|
|
1203
1251
|
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
|
|
1204
1252
|
const observer = new QueryObserver(queryClient, {
|
|
@@ -1216,8 +1264,12 @@ describe('queryClient', () => {
|
|
|
1216
1264
|
test('should not refetch active queries when "refetch" is "none"', async () => {
|
|
1217
1265
|
const key1 = queryKey()
|
|
1218
1266
|
const key2 = queryKey()
|
|
1219
|
-
const queryFn1 = vi
|
|
1220
|
-
|
|
1267
|
+
const queryFn1 = vi
|
|
1268
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1269
|
+
.mockReturnValue('data1')
|
|
1270
|
+
const queryFn2 = vi
|
|
1271
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1272
|
+
.mockReturnValue('data2')
|
|
1221
1273
|
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
|
|
1222
1274
|
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
|
|
1223
1275
|
const observer = new QueryObserver(queryClient, {
|
|
@@ -1238,8 +1290,12 @@ describe('queryClient', () => {
|
|
|
1238
1290
|
test('should refetch inactive queries when "refetch" is "inactive"', async () => {
|
|
1239
1291
|
const key1 = queryKey()
|
|
1240
1292
|
const key2 = queryKey()
|
|
1241
|
-
const queryFn1 = vi
|
|
1242
|
-
|
|
1293
|
+
const queryFn1 = vi
|
|
1294
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1295
|
+
.mockReturnValue('data1')
|
|
1296
|
+
const queryFn2 = vi
|
|
1297
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1298
|
+
.mockReturnValue('data2')
|
|
1243
1299
|
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
|
|
1244
1300
|
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
|
|
1245
1301
|
const observer = new QueryObserver(queryClient, {
|
|
@@ -1262,8 +1318,12 @@ describe('queryClient', () => {
|
|
|
1262
1318
|
test('should refetch active and inactive queries when "refetch" is "all"', async () => {
|
|
1263
1319
|
const key1 = queryKey()
|
|
1264
1320
|
const key2 = queryKey()
|
|
1265
|
-
const queryFn1 = vi
|
|
1266
|
-
|
|
1321
|
+
const queryFn1 = vi
|
|
1322
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1323
|
+
.mockReturnValue('data1')
|
|
1324
|
+
const queryFn2 = vi
|
|
1325
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1326
|
+
.mockReturnValue('data2')
|
|
1267
1327
|
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
|
|
1268
1328
|
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
|
|
1269
1329
|
const observer = new QueryObserver(queryClient, {
|
|
@@ -1385,8 +1445,12 @@ describe('queryClient', () => {
|
|
|
1385
1445
|
const key1 = queryKey()
|
|
1386
1446
|
const key2 = queryKey()
|
|
1387
1447
|
const key3 = queryKey()
|
|
1388
|
-
const queryFn1 = vi
|
|
1389
|
-
|
|
1448
|
+
const queryFn1 = vi
|
|
1449
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1450
|
+
.mockReturnValue('data1')
|
|
1451
|
+
const queryFn2 = vi
|
|
1452
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
1453
|
+
.mockReturnValue('data2')
|
|
1390
1454
|
const observer1 = new QueryObserver(queryClient, {
|
|
1391
1455
|
queryKey: key1,
|
|
1392
1456
|
queryFn: queryFn1,
|
|
@@ -26,7 +26,9 @@ describe('queryObserver', () => {
|
|
|
26
26
|
|
|
27
27
|
test('should trigger a fetch when subscribed', async () => {
|
|
28
28
|
const key = queryKey()
|
|
29
|
-
const queryFn = vi
|
|
29
|
+
const queryFn = vi
|
|
30
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
31
|
+
.mockReturnValue('data')
|
|
30
32
|
const observer = new QueryObserver(queryClient, { queryKey: key, queryFn })
|
|
31
33
|
const unsubscribe = observer.subscribe(() => undefined)
|
|
32
34
|
await sleep(1)
|
|
@@ -584,7 +586,9 @@ describe('queryObserver', () => {
|
|
|
584
586
|
|
|
585
587
|
test('should not trigger a fetch when subscribed and disabled', async () => {
|
|
586
588
|
const key = queryKey()
|
|
587
|
-
const queryFn = vi
|
|
589
|
+
const queryFn = vi
|
|
590
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
591
|
+
.mockReturnValue('data')
|
|
588
592
|
const observer = new QueryObserver(queryClient, {
|
|
589
593
|
queryKey: key,
|
|
590
594
|
queryFn,
|
|
@@ -598,7 +602,9 @@ describe('queryObserver', () => {
|
|
|
598
602
|
|
|
599
603
|
test('should not trigger a fetch when subscribed and disabled by callback', async () => {
|
|
600
604
|
const key = queryKey()
|
|
601
|
-
const queryFn = vi
|
|
605
|
+
const queryFn = vi
|
|
606
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
607
|
+
.mockReturnValue('data')
|
|
602
608
|
const observer = new QueryObserver(queryClient, {
|
|
603
609
|
queryKey: key,
|
|
604
610
|
queryFn,
|
|
@@ -612,7 +618,9 @@ describe('queryObserver', () => {
|
|
|
612
618
|
|
|
613
619
|
test('should not trigger a fetch when not subscribed', async () => {
|
|
614
620
|
const key = queryKey()
|
|
615
|
-
const queryFn = vi
|
|
621
|
+
const queryFn = vi
|
|
622
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
623
|
+
.mockReturnValue('data')
|
|
616
624
|
new QueryObserver(queryClient, { queryKey: key, queryFn })
|
|
617
625
|
await sleep(1)
|
|
618
626
|
expect(queryFn).toHaveBeenCalledTimes(0)
|
|
@@ -620,7 +628,9 @@ describe('queryObserver', () => {
|
|
|
620
628
|
|
|
621
629
|
test('should be able to watch a query without defining a query function', async () => {
|
|
622
630
|
const key = queryKey()
|
|
623
|
-
const queryFn = vi
|
|
631
|
+
const queryFn = vi
|
|
632
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
633
|
+
.mockReturnValue('data')
|
|
624
634
|
const callback = vi.fn()
|
|
625
635
|
const observer = new QueryObserver(queryClient, {
|
|
626
636
|
queryKey: key,
|
|
@@ -635,7 +645,9 @@ describe('queryObserver', () => {
|
|
|
635
645
|
|
|
636
646
|
test('should accept unresolved query config in update function', async () => {
|
|
637
647
|
const key = queryKey()
|
|
638
|
-
const queryFn = vi
|
|
648
|
+
const queryFn = vi
|
|
649
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
650
|
+
.mockReturnValue('data')
|
|
639
651
|
const observer = new QueryObserver(queryClient, {
|
|
640
652
|
queryKey: key,
|
|
641
653
|
enabled: false,
|
|
@@ -656,7 +668,9 @@ describe('queryObserver', () => {
|
|
|
656
668
|
|
|
657
669
|
test('should be able to handle multiple subscribers', async () => {
|
|
658
670
|
const key = queryKey()
|
|
659
|
-
const queryFn = vi
|
|
671
|
+
const queryFn = vi
|
|
672
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
673
|
+
.mockReturnValue('data')
|
|
660
674
|
const observer = new QueryObserver<string>(queryClient, {
|
|
661
675
|
queryKey: key,
|
|
662
676
|
enabled: false,
|
|
@@ -816,7 +830,9 @@ describe('queryObserver', () => {
|
|
|
816
830
|
|
|
817
831
|
test('should not refetch in background if refetchIntervalInBackground is false', async () => {
|
|
818
832
|
const key = queryKey()
|
|
819
|
-
const queryFn = vi
|
|
833
|
+
const queryFn = vi
|
|
834
|
+
.fn<(...args: Array<unknown>) => string>()
|
|
835
|
+
.mockReturnValue('data')
|
|
820
836
|
|
|
821
837
|
focusManager.setFocused(false)
|
|
822
838
|
const observer = new QueryObserver(queryClient, {
|
package/src/__tests__/utils.ts
CHANGED
|
@@ -10,13 +10,13 @@ export function createQueryClient(config?: QueryClientConfig): QueryClient {
|
|
|
10
10
|
|
|
11
11
|
export function mockVisibilityState(
|
|
12
12
|
value: DocumentVisibilityState,
|
|
13
|
-
): MockInstance<
|
|
13
|
+
): MockInstance<() => DocumentVisibilityState> {
|
|
14
14
|
return vi.spyOn(document, 'visibilityState', 'get').mockReturnValue(value)
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
export function mockOnlineManagerIsOnline(
|
|
18
18
|
value: boolean,
|
|
19
|
-
): MockInstance<
|
|
19
|
+
): MockInstance<() => boolean> {
|
|
20
20
|
return vi.spyOn(onlineManager, 'isOnline').mockReturnValue(value)
|
|
21
21
|
}
|
|
22
22
|
|