11import React from 'react' ;
2- import { render , fireEvent } from '@testing-library/react ' ;
2+ import { render , fireEvent , act } from '../test-utils ' ;
33import type { FormInstance } from '../../src' ;
44import Form , { Field } from '../../src' ;
55import { Input } from '../common/InfoField' ;
@@ -33,14 +33,18 @@ describe('legacy.dynamic-binding', () => {
3333
3434 const { container, rerender } = render ( < Test mode /> ) ;
3535
36- fireEvent . change ( getInput ( container , '#text' ) , { target : { value : '123' } } ) ;
36+ await act ( async ( ) => {
37+ fireEvent . change ( getInput ( container , '#text' ) , { target : { value : '123' } } ) ;
38+ } ) ;
3739
3840 rerender ( < Test mode = { false } /> ) ;
3941
4042 expect ( getInput ( container , '#number' ) ?. value ) . toBe ( '123' ) ;
4143 expect ( form . current ?. getFieldValue ( 'name' ) ) . toBe ( '123' ) ;
4244
43- fireEvent . change ( getInput ( container , '#number' ) , { target : { value : '456' } } ) ;
45+ await act ( async ( ) => {
46+ fireEvent . change ( getInput ( container , '#number' ) , { target : { value : '456' } } ) ;
47+ } ) ;
4448
4549 rerender ( < Test mode /> ) ;
4650
@@ -76,8 +80,10 @@ describe('legacy.dynamic-binding', () => {
7680
7781 const { container, rerender } = render ( < Test mode /> ) ;
7882
79- fireEvent . change ( getInput ( container , '#text1' ) , { target : { value : '123' } } ) ;
80- fireEvent . change ( getInput ( container , '#text2' ) , { target : { value : '456' } } ) ;
83+ await act ( async ( ) => {
84+ fireEvent . change ( getInput ( container , '#text1' ) , { target : { value : '123' } } ) ;
85+ fireEvent . change ( getInput ( container , '#text2' ) , { target : { value : '456' } } ) ;
86+ } ) ;
8187
8288 expect ( getInput ( container , '#text1' ) ?. value ) . toBe ( '123' ) ;
8389 expect ( getInput ( container , '#text2' ) ?. value ) . toBe ( '456' ) ;
@@ -96,8 +102,9 @@ describe('legacy.dynamic-binding', () => {
96102 expect ( getInput ( container , '#text2' ) ?. value ) . toBe ( '456' ) ;
97103 expect ( form . current ?. getFieldValue ( 'input1' ) ) . toBe ( '123' ) ;
98104 expect ( form . current ?. getFieldValue ( 'input2' ) ) . toBe ( '456' ) ;
99-
100- fireEvent . change ( getInput ( container , '#text1' ) , { target : { value : '789' } } ) ;
105+ await act ( async ( ) => {
106+ fireEvent . change ( getInput ( container , '#text1' ) , { target : { value : '789' } } ) ;
107+ } ) ;
101108
102109 expect ( getInput ( container , '#text1' ) ?. value ) . toBe ( '789' ) ;
103110 expect ( getInput ( container , '#text2' ) ?. value ) . toBe ( '456' ) ;
@@ -130,13 +137,17 @@ describe('legacy.dynamic-binding', () => {
130137
131138 const { container, rerender } = render ( < Test mode /> ) ;
132139
133- fireEvent . change ( getInput ( container , '#text' ) , { target : { value : '123' } } ) ;
140+ await act ( async ( ) => {
141+ fireEvent . change ( getInput ( container , '#text' ) , { target : { value : '123' } } ) ;
142+ } ) ;
134143
135144 rerender ( < Test mode = { false } /> ) ;
136145 expect ( getInput ( container , '#number' ) ?. value ) . toBe ( '123' ) ;
137146 expect ( form . current ?. getFieldValue ( [ 'name' , 'xxx' ] ) ) . toBe ( '123' ) ;
138147
139- fireEvent . change ( getInput ( container , '#number' ) , { target : { value : '456' } } ) ;
148+ await act ( async ( ) => {
149+ fireEvent . change ( getInput ( container , '#number' ) , { target : { value : '456' } } ) ;
150+ } ) ;
140151
141152 rerender ( < Test mode /> ) ;
142153
@@ -166,14 +177,18 @@ describe('legacy.dynamic-binding', () => {
166177
167178 const { container, rerender } = render ( < Test mode /> ) ;
168179
169- fireEvent . change ( getInput ( container , '#text' ) , { target : { value : '123' } } ) ;
180+ await act ( async ( ) => {
181+ fireEvent . change ( getInput ( container , '#text' ) , { target : { value : '123' } } ) ;
182+ } ) ;
170183
171184 rerender ( < Test mode = { false } /> ) ;
172185
173186 expect ( getInput ( container , '#number' ) ?. value ) . toBe ( '123' ) ;
174187 expect ( form . current ?. getFieldValue ( 'name' ) ) . toBe ( '123' ) ;
175188
176- fireEvent . change ( getInput ( container , '#number' ) , { target : { value : '456' } } ) ;
189+ await act ( async ( ) => {
190+ fireEvent . change ( getInput ( container , '#number' ) , { target : { value : '456' } } ) ;
191+ } ) ;
177192
178193 rerender ( < Test mode /> ) ;
179194
@@ -213,8 +228,10 @@ describe('legacy.dynamic-binding', () => {
213228
214229 const { container, rerender } = render ( < Test mode /> ) ;
215230
216- fireEvent . change ( getInput ( container , '#text1' ) , { target : { value : '123' } } ) ;
217- fireEvent . change ( getInput ( container , '#text2' ) , { target : { value : '456' } } ) ;
231+ await act ( async ( ) => {
232+ fireEvent . change ( getInput ( container , '#text1' ) , { target : { value : '123' } } ) ;
233+ fireEvent . change ( getInput ( container , '#text2' ) , { target : { value : '456' } } ) ;
234+ } ) ;
218235
219236 expect ( getInput ( container , '#text1' ) ?. value ) . toBe ( '123' ) ;
220237 expect ( getInput ( container , '#text2' ) ?. value ) . toBe ( '456' ) ;
@@ -229,7 +246,9 @@ describe('legacy.dynamic-binding', () => {
229246 expect ( form . current ?. getFieldValue ( 'input1' ) ) . toBeTruthy ( ) ;
230247 expect ( form . current ?. getFieldValue ( 'input2' ) ) . toBeTruthy ( ) ;
231248
232- form . current ?. resetFields ( ) ;
249+ await act ( async ( ) => {
250+ form . current ?. resetFields ( ) ;
251+ } ) ;
233252 rerender ( < Test mode /> ) ;
234253 expect ( getInput ( container , '#text1' ) ?. value ) . toBe ( '' ) ;
235254 expect ( getInput ( container , '#text2' ) ?. value ) . toBe ( '' ) ;
0 commit comments