@@ -25,9 +25,9 @@ describe('render API', () => {
2525 configure ( originalConfig )
2626 } )
2727
28- test ( 'renders div into document' , ( ) => {
28+ test ( 'renders div into document' , async ( ) => {
2929 const ref = React . createRef ( )
30- const { container} = render ( < div ref = { ref } /> )
30+ const { container} = await render ( < div ref = { ref } /> )
3131 expect ( container . firstChild ) . toBe ( ref . current )
3232 } )
3333
@@ -62,20 +62,20 @@ describe('render API', () => {
6262 )
6363 }
6464
65- const { unmount} = render ( < MyPortal /> )
65+ const { unmount} = await render ( < MyPortal /> )
6666 expect ( screen . getByText ( 'Hello World' ) ) . toBeInTheDocument ( )
6767 const portalNode = screen . getByTestId ( 'my-portal' )
6868 expect ( portalNode ) . toBeInTheDocument ( )
6969 unmount ( )
7070 expect ( portalNode ) . not . toBeInTheDocument ( )
7171 } )
7272
73- test ( 'returns baseElement which defaults to document.body' , ( ) => {
74- const { baseElement} = render ( < div /> )
73+ test ( 'returns baseElement which defaults to document.body' , async ( ) => {
74+ const { baseElement} = await render ( < div /> )
7575 expect ( baseElement ) . toBe ( document . body )
7676 } )
7777
78- test ( 'supports fragments' , ( ) => {
78+ test ( 'supports fragments' , async ( ) => {
7979 class Test extends React . Component {
8080 render ( ) {
8181 return (
@@ -86,16 +86,16 @@ describe('render API', () => {
8686 }
8787 }
8888
89- const { asFragment} = render ( < Test /> )
89+ const { asFragment} = await render ( < Test /> )
9090 expect ( asFragment ( ) ) . toMatchSnapshot ( )
9191 } )
9292
93- test ( 'renders options.wrapper around node' , ( ) => {
93+ test ( 'renders options.wrapper around node' , async ( ) => {
9494 const WrapperComponent = ( { children} ) => (
9595 < div data-testid = "wrapper" > { children } </ div >
9696 )
9797
98- const { container} = render ( < div data-testid = "inner" /> , {
98+ const { container} = await render ( < div data-testid = "inner" /> , {
9999 wrapper : WrapperComponent ,
100100 } )
101101
@@ -111,13 +111,13 @@ describe('render API', () => {
111111 ` )
112112 } )
113113
114- test ( 'renders options.wrapper around node when reactStrictMode is true' , ( ) => {
114+ test ( 'renders options.wrapper around node when reactStrictMode is true' , async ( ) => {
115115 configure ( { reactStrictMode : true } )
116116
117117 const WrapperComponent = ( { children} ) => (
118118 < div data-testid = "wrapper" > { children } </ div >
119119 )
120- const { container} = render ( < div data-testid = "inner" /> , {
120+ const { container} = await render ( < div data-testid = "inner" /> , {
121121 wrapper : WrapperComponent ,
122122 } )
123123
@@ -133,7 +133,7 @@ describe('render API', () => {
133133 ` )
134134 } )
135135
136- test ( 'renders twice when reactStrictMode is true' , ( ) => {
136+ test ( 'renders twice when reactStrictMode is true' , async ( ) => {
137137 configure ( { reactStrictMode : true } )
138138
139139 const spy = jest . fn ( )
@@ -142,7 +142,7 @@ describe('render API', () => {
142142 return null
143143 }
144144
145- render ( < Component /> )
145+ await render ( < Component /> )
146146 expect ( spy ) . toHaveBeenCalledTimes ( 2 )
147147 } )
148148
@@ -152,7 +152,7 @@ describe('render API', () => {
152152 React . useEffect ( ( ) => spy , [ ] )
153153 return null
154154 }
155- const { unmount} = render ( < Component /> )
155+ const { unmount} = await render ( < Component /> )
156156 expect ( spy ) . toHaveBeenCalledTimes ( 0 )
157157
158158 unmount ( )
@@ -163,11 +163,11 @@ describe('render API', () => {
163163 test ( 'can be called multiple times on the same container' , ( ) => {
164164 const container = document . createElement ( 'div' )
165165
166- const { unmount} = render ( < strong /> , { container} )
166+ const { unmount} = await render ( < strong /> , { container} )
167167
168168 expect ( container ) . toContainHTML ( '<strong></strong>' )
169169
170- render ( < em /> , { container} )
170+ await render ( < em /> , { container} )
171171
172172 expect ( container ) . toContainHTML ( '<em></em>' )
173173
@@ -176,7 +176,7 @@ describe('render API', () => {
176176 expect ( container ) . toBeEmptyDOMElement ( )
177177 } )
178178
179- test ( 'hydrate will make the UI interactive' , ( ) => {
179+ test ( 'hydrate will make the UI interactive' , async ( ) => {
180180 function App ( ) {
181181 const [ clicked , handleClick ] = React . useReducer ( n => n + 1 , 0 )
182182
@@ -193,14 +193,14 @@ describe('render API', () => {
193193
194194 expect ( container ) . toHaveTextContent ( 'clicked:0' )
195195
196- render ( ui , { container, hydrate : true } )
196+ await render ( ui , { container, hydrate : true } )
197197
198- fireEvent . click ( container . querySelector ( 'button' ) )
198+ await fireEvent . click ( container . querySelector ( 'button' ) )
199199
200200 expect ( container ) . toHaveTextContent ( 'clicked:1' )
201201 } )
202202
203- test ( 'hydrate can have a wrapper' , ( ) => {
203+ test ( 'hydrate can have a wrapper' , async ( ) => {
204204 const wrapperComponentMountEffect = jest . fn ( )
205205 function WrapperComponent ( { children} ) {
206206 React . useEffect ( ( ) => {
@@ -214,7 +214,7 @@ describe('render API', () => {
214214 document . body . appendChild ( container )
215215 container . innerHTML = ReactDOMServer . renderToString ( ui )
216216
217- render ( ui , { container, hydrate : true , wrapper : WrapperComponent } )
217+ await render ( ui , { container, hydrate : true , wrapper : WrapperComponent } )
218218
219219 expect ( wrapperComponentMountEffect ) . toHaveBeenCalledTimes ( 1 )
220220 } )
@@ -252,13 +252,13 @@ describe('render API', () => {
252252 )
253253 } )
254254
255- testGateReact19 ( 'legacyRoot throws even with hydrate' , ( ) => {
255+ testGateReact19 ( 'legacyRoot throws even with hydrate' , async ( ) => {
256256 const ui = < div />
257257 const container = document . createElement ( 'div' )
258258 container . innerHTML = ReactDOMServer . renderToString ( ui )
259- expect ( ( ) => {
260- render ( ui , { container, hydrate : true , legacyRoot : true } )
261- } ) . toThrowErrorMatchingInlineSnapshot (
259+ await expect (
260+ render ( ui , { container, hydrate : true , legacyRoot : true } ) ,
261+ ) . rejects . toThrowErrorMatchingInlineSnapshot (
262262 `\`legacyRoot: true\` is not supported in this version of React. If your app runs React 19 or later, you should remove this flag. If your app runs React 18 or earlier, visit https://react.dev/blog/2022/03/08/react-18-upgrade-guide for upgrade instructions.` ,
263263 )
264264 } )
0 commit comments