1
1
import React from 'react' ;
2
- import { render , fireEvent } from '@testing-library/react ' ;
2
+ import { render , fireEvent , act } from '../test-utils ' ;
3
3
import type { FormInstance } from '../../src' ;
4
4
import Form , { Field } from '../../src' ;
5
5
import { Input } from '../common/InfoField' ;
@@ -33,14 +33,18 @@ describe('legacy.dynamic-binding', () => {
33
33
34
34
const { container, rerender } = render ( < Test mode /> ) ;
35
35
36
- fireEvent . change ( getInput ( container , '#text' ) , { target : { value : '123' } } ) ;
36
+ await act ( async ( ) => {
37
+ fireEvent . change ( getInput ( container , '#text' ) , { target : { value : '123' } } ) ;
38
+ } ) ;
37
39
38
40
rerender ( < Test mode = { false } /> ) ;
39
41
40
42
expect ( getInput ( container , '#number' ) ?. value ) . toBe ( '123' ) ;
41
43
expect ( form . current ?. getFieldValue ( 'name' ) ) . toBe ( '123' ) ;
42
44
43
- fireEvent . change ( getInput ( container , '#number' ) , { target : { value : '456' } } ) ;
45
+ await act ( async ( ) => {
46
+ fireEvent . change ( getInput ( container , '#number' ) , { target : { value : '456' } } ) ;
47
+ } ) ;
44
48
45
49
rerender ( < Test mode /> ) ;
46
50
@@ -76,8 +80,10 @@ describe('legacy.dynamic-binding', () => {
76
80
77
81
const { container, rerender } = render ( < Test mode /> ) ;
78
82
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
+ } ) ;
81
87
82
88
expect ( getInput ( container , '#text1' ) ?. value ) . toBe ( '123' ) ;
83
89
expect ( getInput ( container , '#text2' ) ?. value ) . toBe ( '456' ) ;
@@ -96,8 +102,9 @@ describe('legacy.dynamic-binding', () => {
96
102
expect ( getInput ( container , '#text2' ) ?. value ) . toBe ( '456' ) ;
97
103
expect ( form . current ?. getFieldValue ( 'input1' ) ) . toBe ( '123' ) ;
98
104
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
+ } ) ;
101
108
102
109
expect ( getInput ( container , '#text1' ) ?. value ) . toBe ( '789' ) ;
103
110
expect ( getInput ( container , '#text2' ) ?. value ) . toBe ( '456' ) ;
@@ -130,13 +137,17 @@ describe('legacy.dynamic-binding', () => {
130
137
131
138
const { container, rerender } = render ( < Test mode /> ) ;
132
139
133
- fireEvent . change ( getInput ( container , '#text' ) , { target : { value : '123' } } ) ;
140
+ await act ( async ( ) => {
141
+ fireEvent . change ( getInput ( container , '#text' ) , { target : { value : '123' } } ) ;
142
+ } ) ;
134
143
135
144
rerender ( < Test mode = { false } /> ) ;
136
145
expect ( getInput ( container , '#number' ) ?. value ) . toBe ( '123' ) ;
137
146
expect ( form . current ?. getFieldValue ( [ 'name' , 'xxx' ] ) ) . toBe ( '123' ) ;
138
147
139
- fireEvent . change ( getInput ( container , '#number' ) , { target : { value : '456' } } ) ;
148
+ await act ( async ( ) => {
149
+ fireEvent . change ( getInput ( container , '#number' ) , { target : { value : '456' } } ) ;
150
+ } ) ;
140
151
141
152
rerender ( < Test mode /> ) ;
142
153
@@ -166,14 +177,18 @@ describe('legacy.dynamic-binding', () => {
166
177
167
178
const { container, rerender } = render ( < Test mode /> ) ;
168
179
169
- fireEvent . change ( getInput ( container , '#text' ) , { target : { value : '123' } } ) ;
180
+ await act ( async ( ) => {
181
+ fireEvent . change ( getInput ( container , '#text' ) , { target : { value : '123' } } ) ;
182
+ } ) ;
170
183
171
184
rerender ( < Test mode = { false } /> ) ;
172
185
173
186
expect ( getInput ( container , '#number' ) ?. value ) . toBe ( '123' ) ;
174
187
expect ( form . current ?. getFieldValue ( 'name' ) ) . toBe ( '123' ) ;
175
188
176
- fireEvent . change ( getInput ( container , '#number' ) , { target : { value : '456' } } ) ;
189
+ await act ( async ( ) => {
190
+ fireEvent . change ( getInput ( container , '#number' ) , { target : { value : '456' } } ) ;
191
+ } ) ;
177
192
178
193
rerender ( < Test mode /> ) ;
179
194
@@ -213,8 +228,10 @@ describe('legacy.dynamic-binding', () => {
213
228
214
229
const { container, rerender } = render ( < Test mode /> ) ;
215
230
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
+ } ) ;
218
235
219
236
expect ( getInput ( container , '#text1' ) ?. value ) . toBe ( '123' ) ;
220
237
expect ( getInput ( container , '#text2' ) ?. value ) . toBe ( '456' ) ;
@@ -229,7 +246,9 @@ describe('legacy.dynamic-binding', () => {
229
246
expect ( form . current ?. getFieldValue ( 'input1' ) ) . toBeTruthy ( ) ;
230
247
expect ( form . current ?. getFieldValue ( 'input2' ) ) . toBeTruthy ( ) ;
231
248
232
- form . current ?. resetFields ( ) ;
249
+ await act ( async ( ) => {
250
+ form . current ?. resetFields ( ) ;
251
+ } ) ;
233
252
rerender ( < Test mode /> ) ;
234
253
expect ( getInput ( container , '#text1' ) ?. value ) . toBe ( '' ) ;
235
254
expect ( getInput ( container , '#text2' ) ?. value ) . toBe ( '' ) ;
0 commit comments