Skip to content

Commit 3b569b4

Browse files
committed
chore: add test for switching enabled state
1 parent f6757a6 commit 3b569b4

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

packages/query-core/src/__tests__/queryObserver.test.tsx

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1233,4 +1233,35 @@ describe('queryObserver', () => {
12331233

12341234
unsubscribe()
12351235
})
1236+
1237+
test('switching enabled state should reuse the same promise', async () => {
1238+
const key = queryKey()
1239+
1240+
const observer = new QueryObserver(queryClient, {
1241+
queryKey: key,
1242+
enabled: false,
1243+
queryFn: () => 'data',
1244+
})
1245+
const results: Array<QueryObserverResult> = []
1246+
1247+
1248+
const unsubscribe = observer.subscribe((result) => {
1249+
results.push(result)
1250+
})
1251+
1252+
await sleep(1)
1253+
1254+
observer.setOptions({ queryKey: key, queryFn: () => 'data', enabled: true })
1255+
1256+
1257+
await waitFor(() => {
1258+
expect(results.at(-1)?.status).toBe('success')
1259+
})
1260+
1261+
unsubscribe()
1262+
1263+
1264+
const promises = new Set(results.map((result) => result.promise))
1265+
expect(promises.size).toBe(1)
1266+
})
12361267
})

0 commit comments

Comments
 (0)