@@ -25,9 +25,9 @@ describe('render API', () => {
25
25
configure ( originalConfig )
26
26
} )
27
27
28
- test ( 'renders div into document' , ( ) => {
28
+ test ( 'renders div into document' , async ( ) => {
29
29
const ref = React . createRef ( )
30
- const { container} = render ( < div ref = { ref } /> )
30
+ const { container} = await render ( < div ref = { ref } /> )
31
31
expect ( container . firstChild ) . toBe ( ref . current )
32
32
} )
33
33
@@ -62,20 +62,20 @@ describe('render API', () => {
62
62
)
63
63
}
64
64
65
- const { unmount} = render ( < MyPortal /> )
65
+ const { unmount} = await render ( < MyPortal /> )
66
66
expect ( screen . getByText ( 'Hello World' ) ) . toBeInTheDocument ( )
67
67
const portalNode = screen . getByTestId ( 'my-portal' )
68
68
expect ( portalNode ) . toBeInTheDocument ( )
69
69
unmount ( )
70
70
expect ( portalNode ) . not . toBeInTheDocument ( )
71
71
} )
72
72
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 /> )
75
75
expect ( baseElement ) . toBe ( document . body )
76
76
} )
77
77
78
- test ( 'supports fragments' , ( ) => {
78
+ test ( 'supports fragments' , async ( ) => {
79
79
class Test extends React . Component {
80
80
render ( ) {
81
81
return (
@@ -86,16 +86,16 @@ describe('render API', () => {
86
86
}
87
87
}
88
88
89
- const { asFragment} = render ( < Test /> )
89
+ const { asFragment} = await render ( < Test /> )
90
90
expect ( asFragment ( ) ) . toMatchSnapshot ( )
91
91
} )
92
92
93
- test ( 'renders options.wrapper around node' , ( ) => {
93
+ test ( 'renders options.wrapper around node' , async ( ) => {
94
94
const WrapperComponent = ( { children} ) => (
95
95
< div data-testid = "wrapper" > { children } </ div >
96
96
)
97
97
98
- const { container} = render ( < div data-testid = "inner" /> , {
98
+ const { container} = await render ( < div data-testid = "inner" /> , {
99
99
wrapper : WrapperComponent ,
100
100
} )
101
101
@@ -111,13 +111,13 @@ describe('render API', () => {
111
111
` )
112
112
} )
113
113
114
- test ( 'renders options.wrapper around node when reactStrictMode is true' , ( ) => {
114
+ test ( 'renders options.wrapper around node when reactStrictMode is true' , async ( ) => {
115
115
configure ( { reactStrictMode : true } )
116
116
117
117
const WrapperComponent = ( { children} ) => (
118
118
< div data-testid = "wrapper" > { children } </ div >
119
119
)
120
- const { container} = render ( < div data-testid = "inner" /> , {
120
+ const { container} = await render ( < div data-testid = "inner" /> , {
121
121
wrapper : WrapperComponent ,
122
122
} )
123
123
@@ -133,7 +133,7 @@ describe('render API', () => {
133
133
` )
134
134
} )
135
135
136
- test ( 'renders twice when reactStrictMode is true' , ( ) => {
136
+ test ( 'renders twice when reactStrictMode is true' , async ( ) => {
137
137
configure ( { reactStrictMode : true } )
138
138
139
139
const spy = jest . fn ( )
@@ -142,7 +142,7 @@ describe('render API', () => {
142
142
return null
143
143
}
144
144
145
- render ( < Component /> )
145
+ await render ( < Component /> )
146
146
expect ( spy ) . toHaveBeenCalledTimes ( 2 )
147
147
} )
148
148
@@ -152,7 +152,7 @@ describe('render API', () => {
152
152
React . useEffect ( ( ) => spy , [ ] )
153
153
return null
154
154
}
155
- const { unmount} = render ( < Component /> )
155
+ const { unmount} = await render ( < Component /> )
156
156
expect ( spy ) . toHaveBeenCalledTimes ( 0 )
157
157
158
158
unmount ( )
@@ -163,11 +163,11 @@ describe('render API', () => {
163
163
test ( 'can be called multiple times on the same container' , ( ) => {
164
164
const container = document . createElement ( 'div' )
165
165
166
- const { unmount} = render ( < strong /> , { container} )
166
+ const { unmount} = await render ( < strong /> , { container} )
167
167
168
168
expect ( container ) . toContainHTML ( '<strong></strong>' )
169
169
170
- render ( < em /> , { container} )
170
+ await render ( < em /> , { container} )
171
171
172
172
expect ( container ) . toContainHTML ( '<em></em>' )
173
173
@@ -176,7 +176,7 @@ describe('render API', () => {
176
176
expect ( container ) . toBeEmptyDOMElement ( )
177
177
} )
178
178
179
- test ( 'hydrate will make the UI interactive' , ( ) => {
179
+ test ( 'hydrate will make the UI interactive' , async ( ) => {
180
180
function App ( ) {
181
181
const [ clicked , handleClick ] = React . useReducer ( n => n + 1 , 0 )
182
182
@@ -193,14 +193,14 @@ describe('render API', () => {
193
193
194
194
expect ( container ) . toHaveTextContent ( 'clicked:0' )
195
195
196
- render ( ui , { container, hydrate : true } )
196
+ await render ( ui , { container, hydrate : true } )
197
197
198
- fireEvent . click ( container . querySelector ( 'button' ) )
198
+ await fireEvent . click ( container . querySelector ( 'button' ) )
199
199
200
200
expect ( container ) . toHaveTextContent ( 'clicked:1' )
201
201
} )
202
202
203
- test ( 'hydrate can have a wrapper' , ( ) => {
203
+ test ( 'hydrate can have a wrapper' , async ( ) => {
204
204
const wrapperComponentMountEffect = jest . fn ( )
205
205
function WrapperComponent ( { children} ) {
206
206
React . useEffect ( ( ) => {
@@ -214,7 +214,7 @@ describe('render API', () => {
214
214
document . body . appendChild ( container )
215
215
container . innerHTML = ReactDOMServer . renderToString ( ui )
216
216
217
- render ( ui , { container, hydrate : true , wrapper : WrapperComponent } )
217
+ await render ( ui , { container, hydrate : true , wrapper : WrapperComponent } )
218
218
219
219
expect ( wrapperComponentMountEffect ) . toHaveBeenCalledTimes ( 1 )
220
220
} )
@@ -252,13 +252,13 @@ describe('render API', () => {
252
252
)
253
253
} )
254
254
255
- testGateReact19 ( 'legacyRoot throws even with hydrate' , ( ) => {
255
+ testGateReact19 ( 'legacyRoot throws even with hydrate' , async ( ) => {
256
256
const ui = < div />
257
257
const container = document . createElement ( 'div' )
258
258
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 (
262
262
`\`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.` ,
263
263
)
264
264
} )
0 commit comments