@@ -6,7 +6,8 @@ import { render, fireEvent, waitForElement } from "react-testing-library"
66
77export const resolveIn = ms => value => new Promise ( resolve => setTimeout ( resolve , ms , value ) )
88export 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 ) ) )
1011export const rejectTo = rejectIn ( 0 )
1112
1213export const common = Async => ( ) => {
@@ -65,7 +66,9 @@ export const withPromise = Async => () => {
6566
6667 test ( "passes rejection error to children as render prop" , async ( ) => {
6768 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+ )
6972 await waitForElement ( ( ) => getByText ( "oops" ) )
7073 } )
7174
@@ -104,7 +107,7 @@ export const withPromise = Async => () => {
104107 const onReject = jest . fn ( )
105108 render ( < Async promise = { rejectTo ( "err" ) } onReject = { onReject } /> )
106109 await resolveTo ( )
107- expect ( onReject ) . toHaveBeenCalledWith ( "err" )
110+ expect ( onReject ) . toHaveBeenCalledWith ( new Error ( "err" ) )
108111 } )
109112
110113 test ( "cancels a pending promise when unmounted" , async ( ) => {
@@ -196,7 +199,7 @@ export const withPromiseFn = (Async, abortCtrl) => () => {
196199 const onReject = jest . fn ( )
197200 render ( < Async promiseFn = { ( ) => rejectTo ( "err" ) } onReject = { onReject } /> )
198201 await resolveTo ( )
199- expect ( onReject ) . toHaveBeenCalledWith ( "err" )
202+ expect ( onReject ) . toHaveBeenCalledWith ( new Error ( "err" ) )
200203 } )
201204
202205 test ( "provides `reload` function that re-runs the promise" , ( ) => {
0 commit comments