@@ -20,14 +20,12 @@ describe('createMutation', () => {
20
20
expect ( rendered . queryByText ( 'Error: undefined' ) ) . toBeInTheDocument ( )
21
21
22
22
fireEvent . click ( rendered . getByRole ( 'button' , { name : / M u t a t e / i } ) )
23
- await vi . advanceTimersByTimeAsync ( 0 )
24
- expect (
25
- rendered . queryByText ( 'Error: Expected mock error' ) ,
26
- ) . toBeInTheDocument ( )
23
+ await vi . advanceTimersByTimeAsync ( 11 )
24
+ expect ( rendered . getByText ( 'Error: Expected mock error' ) ) . toBeInTheDocument ( )
27
25
28
26
fireEvent . click ( rendered . getByRole ( 'button' , { name : / R e s e t / i } ) )
29
- await vi . advanceTimersByTimeAsync ( 0 )
30
- expect ( rendered . queryByText ( 'Error: undefined' ) ) . toBeInTheDocument ( )
27
+ await vi . advanceTimersByTimeAsync ( 11 )
28
+ expect ( rendered . getByText ( 'Error: undefined' ) ) . toBeInTheDocument ( )
31
29
} )
32
30
33
31
test ( 'Able to call `onSuccess` and `onSettled` after each successful mutate' , async ( ) => {
@@ -46,7 +44,7 @@ describe('createMutation', () => {
46
44
fireEvent . click ( rendered . getByRole ( 'button' , { name : / M u t a t e / i } ) )
47
45
fireEvent . click ( rendered . getByRole ( 'button' , { name : / M u t a t e / i } ) )
48
46
fireEvent . click ( rendered . getByRole ( 'button' , { name : / M u t a t e / i } ) )
49
- await vi . advanceTimersByTimeAsync ( 0 )
47
+ await vi . advanceTimersByTimeAsync ( 11 )
50
48
expect ( rendered . queryByText ( 'Count: 3' ) ) . toBeInTheDocument ( )
51
49
52
50
expect ( onSuccessMock ) . toHaveBeenCalledTimes ( 3 )
@@ -67,14 +65,11 @@ describe('createMutation', () => {
67
65
68
66
const mutationFn = vi . fn < ( value : Value ) => Promise < Value > > ( )
69
67
70
- mutationFn . mockImplementationOnce ( ( ) => {
71
- return Promise . reject ( `Expected mock error` )
72
- } )
68
+ mutationFn . mockImplementationOnce ( ( ) =>
69
+ sleep ( 20 ) . then ( ( ) => Promise . reject ( `Expected mock error` ) ) ,
70
+ )
73
71
74
- mutationFn . mockImplementation ( async ( value ) => {
75
- await sleep ( 5 )
76
- return Promise . resolve ( value )
77
- } )
72
+ mutationFn . mockImplementation ( ( value ) => sleep ( 10 ) . then ( ( ) => value ) )
78
73
79
74
const rendered = render ( FailureExample , {
80
75
props : {
@@ -86,7 +81,7 @@ describe('createMutation', () => {
86
81
87
82
fireEvent . click ( rendered . getByRole ( 'button' , { name : / M u t a t e / i } ) )
88
83
expect ( rendered . getByText ( 'Data: undefined' ) ) . toBeInTheDocument ( )
89
- await vi . advanceTimersByTimeAsync ( 0 )
84
+ await vi . advanceTimersByTimeAsync ( 21 )
90
85
expect ( rendered . getByText ( 'Status: error' ) ) . toBeInTheDocument ( )
91
86
expect ( rendered . getByText ( 'Failure Count: 1' ) ) . toBeInTheDocument ( )
92
87
expect (
@@ -96,7 +91,7 @@ describe('createMutation', () => {
96
91
fireEvent . click ( rendered . getByRole ( 'button' , { name : / M u t a t e / i } ) )
97
92
await vi . advanceTimersByTimeAsync ( 0 )
98
93
expect ( rendered . getByText ( 'Status: pending' ) ) . toBeInTheDocument ( )
99
- await vi . advanceTimersByTimeAsync ( 6 )
94
+ await vi . advanceTimersByTimeAsync ( 11 )
100
95
expect ( rendered . getByText ( 'Status: success' ) ) . toBeInTheDocument ( )
101
96
expect ( rendered . getByText ( 'Data: 2' ) ) . toBeInTheDocument ( )
102
97
expect ( rendered . getByText ( 'Failure Count: 0' ) ) . toBeInTheDocument ( )
0 commit comments