Skip to content

Commit 737e039

Browse files
committed
Add test for refetch returning a promise
1 parent 4b368fe commit 737e039

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

packages/toolkit/src/query/tests/buildHooks.test.tsx

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ const api = createApi({
6565
},
6666
}),
6767
}),
68-
getIncrementedAmount: build.query<any, void>({
68+
getIncrementedAmount: build.query<{ amount: number }, void>({
6969
query: () => ({
7070
url: '',
7171
body: {
@@ -607,6 +607,28 @@ describe('hooks tests', () => {
607607
})
608608
})
609609
})
610+
611+
test('useQuery refetch method returns a promise that resolves with the result', async () => {
612+
const { result } = renderHook(
613+
() => api.endpoints.getIncrementedAmount.useQuery(),
614+
{
615+
wrapper: storeRef.wrapper,
616+
}
617+
)
618+
619+
await waitFor(() => expect(result.current.isSuccess).toBe(true))
620+
const originalAmount = result.current.data!.amount
621+
622+
const { refetch } = result.current
623+
624+
let resPromise: ReturnType<typeof refetch> = null as any
625+
await act(async () => {
626+
resPromise = refetch()
627+
})
628+
expect(resPromise).toBeInstanceOf(Promise)
629+
const res = await resPromise
630+
expect(res.data!.amount).toBeGreaterThan(originalAmount)
631+
})
610632
})
611633

612634
describe('useLazyQuery', () => {

0 commit comments

Comments
 (0)