@@ -6,7 +6,8 @@ import { render, fireEvent, waitForElement } from "react-testing-library"
6
6
7
7
export const resolveIn = ms => value => new Promise ( resolve => setTimeout ( resolve , ms , value ) )
8
8
export const resolveTo = resolveIn ( 0 )
9
- export const rejectIn = ms => err => new Promise ( ( resolve , reject ) => setTimeout ( reject , ms , err ) )
9
+ export const rejectIn = ms => err =>
10
+ new Promise ( ( resolve , reject ) => setTimeout ( reject , ms , new Error ( err ) ) )
10
11
export const rejectTo = rejectIn ( 0 )
11
12
12
13
export const common = Async => ( ) => {
@@ -65,7 +66,9 @@ export const withPromise = Async => () => {
65
66
66
67
test ( "passes rejection error to children as render prop" , async ( ) => {
67
68
const promise = rejectTo ( "oops" )
68
- const { getByText } = render ( < Async promise = { promise } > { ( { error } ) => error || null } </ Async > )
69
+ const { getByText } = render (
70
+ < Async promise = { promise } > { ( { error } ) => ( error ? error . message : null ) } </ Async >
71
+ )
69
72
await waitForElement ( ( ) => getByText ( "oops" ) )
70
73
} )
71
74
@@ -104,7 +107,7 @@ export const withPromise = Async => () => {
104
107
const onReject = jest . fn ( )
105
108
render ( < Async promise = { rejectTo ( "err" ) } onReject = { onReject } /> )
106
109
await resolveTo ( )
107
- expect ( onReject ) . toHaveBeenCalledWith ( "err" )
110
+ expect ( onReject ) . toHaveBeenCalledWith ( new Error ( "err" ) )
108
111
} )
109
112
110
113
test ( "cancels a pending promise when unmounted" , async ( ) => {
@@ -196,7 +199,7 @@ export const withPromiseFn = (Async, abortCtrl) => () => {
196
199
const onReject = jest . fn ( )
197
200
render ( < Async promiseFn = { ( ) => rejectTo ( "err" ) } onReject = { onReject } /> )
198
201
await resolveTo ( )
199
- expect ( onReject ) . toHaveBeenCalledWith ( "err" )
202
+ expect ( onReject ) . toHaveBeenCalledWith ( new Error ( "err" ) )
200
203
} )
201
204
202
205
test ( "provides `reload` function that re-runs the promise" , ( ) => {
0 commit comments