From 5eef12e22cd6816ccee83482c13b7dd603f50ebc Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sat, 11 Jul 2026 15:21:22 +0900 Subject: [PATCH] test({react,preact,solid}-query/useMutation): improve callback assertions with 'toHaveBeenNthCalledWith' --- .../src/__tests__/useMutation.test.tsx | 30 +++++++++++-------- .../src/__tests__/useMutation.test.tsx | 30 +++++++++++-------- .../src/__tests__/useMutation.test.tsx | 30 +++++++++++-------- 3 files changed, 54 insertions(+), 36 deletions(-) diff --git a/packages/preact-query/src/__tests__/useMutation.test.tsx b/packages/preact-query/src/__tests__/useMutation.test.tsx index 4ed75ae8df..8787e3cb88 100644 --- a/packages/preact-query/src/__tests__/useMutation.test.tsx +++ b/packages/preact-query/src/__tests__/useMutation.test.tsx @@ -463,15 +463,15 @@ describe('useMutation', () => { expect(getByRole('heading').textContent).toBe('3') expect(onSuccessMock).toHaveBeenCalledTimes(3) - expect(onSuccessMock).toHaveBeenCalledWith(1) - expect(onSuccessMock).toHaveBeenCalledWith(2) - expect(onSuccessMock).toHaveBeenCalledWith(3) + expect(onSuccessMock).toHaveBeenNthCalledWith(1, 1) + expect(onSuccessMock).toHaveBeenNthCalledWith(2, 2) + expect(onSuccessMock).toHaveBeenNthCalledWith(3, 3) expect(onSettledMock).toHaveBeenCalledTimes(3) - expect(onSettledMock).toHaveBeenCalledWith(1) - expect(onSettledMock).toHaveBeenCalledWith(2) - expect(onSettledMock).toHaveBeenCalledWith(3) + expect(onSettledMock).toHaveBeenNthCalledWith(1, 1) + expect(onSettledMock).toHaveBeenNthCalledWith(2, 2) + expect(onSettledMock).toHaveBeenNthCalledWith(3, 3) }) it('should set correct values for `failureReason` and `failureCount` on multiple mutate calls', async () => { @@ -568,24 +568,30 @@ describe('useMutation', () => { await vi.advanceTimersByTimeAsync(0) expect(getByRole('heading').textContent).toBe('3') expect(onErrorMock).toHaveBeenCalledTimes(3) - expect(onErrorMock).toHaveBeenCalledWith( + expect(onErrorMock).toHaveBeenNthCalledWith( + 1, 'Expected mock error. All is well! 1', ) - expect(onErrorMock).toHaveBeenCalledWith( + expect(onErrorMock).toHaveBeenNthCalledWith( + 2, 'Expected mock error. All is well! 2', ) - expect(onErrorMock).toHaveBeenCalledWith( + expect(onErrorMock).toHaveBeenNthCalledWith( + 3, 'Expected mock error. All is well! 3', ) expect(onSettledMock).toHaveBeenCalledTimes(3) - expect(onSettledMock).toHaveBeenCalledWith( + expect(onSettledMock).toHaveBeenNthCalledWith( + 1, 'Expected mock error. All is well! 1', ) - expect(onSettledMock).toHaveBeenCalledWith( + expect(onSettledMock).toHaveBeenNthCalledWith( + 2, 'Expected mock error. All is well! 2', ) - expect(onSettledMock).toHaveBeenCalledWith( + expect(onSettledMock).toHaveBeenNthCalledWith( + 3, 'Expected mock error. All is well! 3', ) }) diff --git a/packages/react-query/src/__tests__/useMutation.test.tsx b/packages/react-query/src/__tests__/useMutation.test.tsx index b5212bc27a..dd1d737d7c 100644 --- a/packages/react-query/src/__tests__/useMutation.test.tsx +++ b/packages/react-query/src/__tests__/useMutation.test.tsx @@ -462,15 +462,15 @@ describe('useMutation', () => { expect(getByRole('heading').textContent).toBe('3') expect(onSuccessMock).toHaveBeenCalledTimes(3) - expect(onSuccessMock).toHaveBeenCalledWith(1) - expect(onSuccessMock).toHaveBeenCalledWith(2) - expect(onSuccessMock).toHaveBeenCalledWith(3) + expect(onSuccessMock).toHaveBeenNthCalledWith(1, 1) + expect(onSuccessMock).toHaveBeenNthCalledWith(2, 2) + expect(onSuccessMock).toHaveBeenNthCalledWith(3, 3) expect(onSettledMock).toHaveBeenCalledTimes(3) - expect(onSettledMock).toHaveBeenCalledWith(1) - expect(onSettledMock).toHaveBeenCalledWith(2) - expect(onSettledMock).toHaveBeenCalledWith(3) + expect(onSettledMock).toHaveBeenNthCalledWith(1, 1) + expect(onSettledMock).toHaveBeenNthCalledWith(2, 2) + expect(onSettledMock).toHaveBeenNthCalledWith(3, 3) }) it('should set correct values for `failureReason` and `failureCount` on multiple mutate calls', async () => { @@ -567,24 +567,30 @@ describe('useMutation', () => { await vi.advanceTimersByTimeAsync(0) expect(getByRole('heading').textContent).toBe('3') expect(onErrorMock).toHaveBeenCalledTimes(3) - expect(onErrorMock).toHaveBeenCalledWith( + expect(onErrorMock).toHaveBeenNthCalledWith( + 1, 'Expected mock error. All is well! 1', ) - expect(onErrorMock).toHaveBeenCalledWith( + expect(onErrorMock).toHaveBeenNthCalledWith( + 2, 'Expected mock error. All is well! 2', ) - expect(onErrorMock).toHaveBeenCalledWith( + expect(onErrorMock).toHaveBeenNthCalledWith( + 3, 'Expected mock error. All is well! 3', ) expect(onSettledMock).toHaveBeenCalledTimes(3) - expect(onSettledMock).toHaveBeenCalledWith( + expect(onSettledMock).toHaveBeenNthCalledWith( + 1, 'Expected mock error. All is well! 1', ) - expect(onSettledMock).toHaveBeenCalledWith( + expect(onSettledMock).toHaveBeenNthCalledWith( + 2, 'Expected mock error. All is well! 2', ) - expect(onSettledMock).toHaveBeenCalledWith( + expect(onSettledMock).toHaveBeenNthCalledWith( + 3, 'Expected mock error. All is well! 3', ) }) diff --git a/packages/solid-query/src/__tests__/useMutation.test.tsx b/packages/solid-query/src/__tests__/useMutation.test.tsx index a9efbebe7e..7d07509dd2 100644 --- a/packages/solid-query/src/__tests__/useMutation.test.tsx +++ b/packages/solid-query/src/__tests__/useMutation.test.tsx @@ -472,15 +472,15 @@ describe('useMutation', () => { expect(onSuccessMock).toHaveBeenCalledTimes(3) - expect(onSuccessMock).toHaveBeenCalledWith(1) - expect(onSuccessMock).toHaveBeenCalledWith(2) - expect(onSuccessMock).toHaveBeenCalledWith(3) + expect(onSuccessMock).toHaveBeenNthCalledWith(1, 1) + expect(onSuccessMock).toHaveBeenNthCalledWith(2, 2) + expect(onSuccessMock).toHaveBeenNthCalledWith(3, 3) expect(onSettledMock).toHaveBeenCalledTimes(3) - expect(onSettledMock).toHaveBeenCalledWith(1) - expect(onSettledMock).toHaveBeenCalledWith(2) - expect(onSettledMock).toHaveBeenCalledWith(3) + expect(onSettledMock).toHaveBeenNthCalledWith(1, 1) + expect(onSettledMock).toHaveBeenNthCalledWith(2, 2) + expect(onSettledMock).toHaveBeenNthCalledWith(3, 3) }) it('should set correct values for `failureReason` and `failureCount` on multiple mutate calls', async () => { @@ -589,24 +589,30 @@ describe('useMutation', () => { expect(rendered.getByRole('heading').textContent).toBe('3') expect(onErrorMock).toHaveBeenCalledTimes(3) - expect(onErrorMock).toHaveBeenCalledWith( + expect(onErrorMock).toHaveBeenNthCalledWith( + 1, 'Expected mock error. All is well! 1', ) - expect(onErrorMock).toHaveBeenCalledWith( + expect(onErrorMock).toHaveBeenNthCalledWith( + 2, 'Expected mock error. All is well! 2', ) - expect(onErrorMock).toHaveBeenCalledWith( + expect(onErrorMock).toHaveBeenNthCalledWith( + 3, 'Expected mock error. All is well! 3', ) expect(onSettledMock).toHaveBeenCalledTimes(3) - expect(onSettledMock).toHaveBeenCalledWith( + expect(onSettledMock).toHaveBeenNthCalledWith( + 1, 'Expected mock error. All is well! 1', ) - expect(onSettledMock).toHaveBeenCalledWith( + expect(onSettledMock).toHaveBeenNthCalledWith( + 2, 'Expected mock error. All is well! 2', ) - expect(onSettledMock).toHaveBeenCalledWith( + expect(onSettledMock).toHaveBeenNthCalledWith( + 3, 'Expected mock error. All is well! 3', ) })