Skip to content

Commit 4dc7c75

Browse files
committed
fix: warnings
1 parent 739778d commit 4dc7c75

14 files changed

+153
-92
lines changed

tests/common/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export async function changeValue(
1414
fireEvent.focus(input);
1515
// Force change value, because if empty and set empty, change not trigger effetct in test
1616
if (!value) {
17-
console.debug('changeValue called if "" (empty) value');
17+
// changeValue called if "" (empty) value
1818
fireEvent.change(input, { target: { value: `${value}any` } });
1919
await timeout();
2020
}

tests/control.test.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,9 @@ describe('Form.Control', () => {
3838

3939
const { container } = render(<Test />);
4040

41+
const input = container.querySelector('input');
42+
4143
await act(async () => {
42-
const input = container.querySelector('input');
4344
await changeValue(input, '');
4445
});
4546

tests/field.test.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,8 @@ describe('Form.Field', () => {
2626
expect(instance.cancelRegisterFunc).toBeFalsy();
2727

2828
// Mount again
29-
act(() => {
30-
rerender(<Demo visible />);
31-
});
29+
rerender(<Demo visible />);
30+
3231
expect(instance.cancelRegisterFunc).toBeFalsy();
3332
expect(fieldRef.current.cancelRegisterFunc).toBeTruthy();
3433
});

tests/index.test.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -546,10 +546,10 @@ describe('Form.Basic', () => {
546546
);
547547
const { container, rerender } = render(<Component />);
548548

549-
form.current?.setFields([
550-
{ name: 'username', touched: false, validating: true, errors: ['Set It!'] },
551-
]);
552549
await act(async () => {
550+
form.current?.setFields([
551+
{ name: 'username', touched: false, validating: true, errors: ['Set It!'] },
552+
]);
553553
rerender(<Component />);
554554
});
555555

tests/legacy/async-validation.test.tsx

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,9 @@ describe('legacy.async-validation', () => {
7878

7979
it('validateFields works for error', async () => {
8080
try {
81-
await form.validateFields();
81+
await act(async () => {
82+
await form.validateFields();
83+
});
8284
throw new Error('should not pass');
8385
} catch ({ values, errorFields }) {
8486
expect(values.normal).toEqual(undefined);
@@ -92,17 +94,23 @@ describe('legacy.async-validation', () => {
9294
});
9395

9496
it('validateFields works for ok', async () => {
95-
await changeValue(getField(container, 'async'), '1');
96-
const values = await form.validateFields();
97-
expect(values.normal).toBe(undefined);
98-
expect(values.async).toBe('1');
97+
await act(async () => {
98+
await changeValue(getField(container, 'async'), '1');
99+
});
100+
await act(async () => {
101+
const values = await form.validateFields();
102+
expect(values.normal).toBe(undefined);
103+
expect(values.async).toBe('1');
104+
});
99105
});
100106

101107
it('will error if change when validating', async done => {
102-
form.validateFields().catch(({ errorFields, outOfDate }) => {
103-
expect(errorFields.length).toBeTruthy();
104-
expect(outOfDate).toBeTruthy();
105-
done();
108+
await act(async () => {
109+
form.validateFields().catch(({ errorFields, outOfDate }) => {
110+
expect(errorFields.length).toBeTruthy();
111+
expect(outOfDate).toBeTruthy();
112+
done();
113+
});
106114
});
107115

108116
changeValue(getField(container, 'async'), '1');

tests/legacy/basic-form.test.tsx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ describe('legacy.basic-form', () => {
4545

4646
// [Legacy] Not trigger in field form. This is anti with origin test
4747
// https://github.com/react-component/form/blob/master/tests/createForm.spec.js#L70
48-
it('**Not** trigger `onFieldsChange` when `setFields`', () => {
48+
it('**Not** trigger `onFieldsChange` when `setFields`', async () => {
4949
let form;
5050
const onFieldsChange = vi.fn();
5151

@@ -64,7 +64,9 @@ describe('legacy.basic-form', () => {
6464
</div>,
6565
);
6666

67-
form.setFields([{ name: 'name', value: '233' }]);
67+
await act(async () => {
68+
form.setFields([{ name: 'name', value: '233' }]);
69+
});
6870

6971
expect(onFieldsChange).not.toHaveBeenCalled();
7072
});
@@ -77,17 +79,15 @@ describe('legacy.basic-form', () => {
7779
const { container } = render(
7880
<Form onValuesChange={onValuesChange}>
7981
<Field name={['user', 'teste']}>
80-
{() => {
81-
return <Input />;
82-
}}
82+
<Input />
8383
</Field>
8484
<Field name={['user', 'name']}>
8585
<Input />
8686
</Field>
8787
<Field name={['user', 'age']}>
8888
<Input type="number" />
8989
</Field>
90-
<Field name="agreement">
90+
<Field name="agreement" valuePropName="checked">
9191
<Input type="checkbox" />
9292
</Field>
9393
</Form>,
@@ -96,13 +96,13 @@ describe('legacy.basic-form', () => {
9696
await act(async () => {
9797
const field = getField(container, ['user', 'name']);
9898
await changeValue(field, 'Bamboo');
99+
});
99100

100-
expect(onValuesChange.mock.calls[0][0]).toMatchObject({ user: { name: 'Bamboo' } });
101-
expect(onValuesChange.mock.calls[0][1]).toMatchObject({
102-
user: {
103-
name: 'Bamboo',
104-
},
105-
});
101+
expect(onValuesChange.mock.calls[0][0]).toMatchObject({ user: { name: 'Bamboo' } });
102+
expect(onValuesChange.mock.calls[0][1]).toMatchObject({
103+
user: {
104+
name: 'Bamboo',
105+
},
106106
});
107107
});
108108

tests/legacy/clean-field.test.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import { render } from '@testing-library/react';
2+
import { render, act } from '../test-utils';
33
import type { FormInstance } from '../../src';
44
import Form, { Field } from '../../src';
55
import { Input } from '../common/InfoField';
@@ -26,7 +26,9 @@ describe('legacy.clean-field', () => {
2626
const { rerender } = render(<Test show />);
2727

2828
try {
29-
await form.current?.validateFields();
29+
await act(async () => {
30+
await form.current?.validateFields();
31+
});
3032
throw new Error('should not pass');
3133
} catch ({ errorFields }) {
3234
expect(errorFields.length).toBe(1);
@@ -36,7 +38,9 @@ describe('legacy.clean-field', () => {
3638
rerender(<Test show={false} />);
3739

3840
try {
39-
await form.current?.validateFields();
41+
await act(async () => {
42+
await form.current?.validateFields();
43+
});
4044
throw new Error('should not pass');
4145
} catch ({ errorFields }) {
4246
expect(errorFields.length).toBe(1);

tests/legacy/dynamic-binding.test.tsx

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import { render, fireEvent } from '@testing-library/react';
2+
import { render, fireEvent, act } from '../test-utils';
33
import type { FormInstance } from '../../src';
44
import Form, { Field } from '../../src';
55
import { 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('');

tests/legacy/form.test.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import { render } from '@testing-library/react';
2+
import { render, act } from '../test-utils';
33
import type { FormInstance } from '../../src';
44
import Form, { Field } from '../../src';
55
import { Input } from '../common/InfoField';
@@ -17,7 +17,10 @@ describe('legacy.form', () => {
1717
</Form>
1818
</div>,
1919
);
20-
form.current?.setFieldsValue({ normal: '2', notExist: 'oh' });
20+
21+
await act(async () => {
22+
form.current?.setFieldsValue({ normal: '2', notExist: 'oh' });
23+
});
2124
expect(form.current?.getFieldValue('normal')).toBe('2');
2225
});
2326
});

tests/legacy/switch-field.test.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import { render, fireEvent } from '@testing-library/react';
2+
import { render, fireEvent, act } from '../test-utils';
33
import type { FormInstance } from '../../src';
44
import Form, { Field, useForm } from '../../src';
55
import { Input } from '../common/InfoField';
@@ -58,11 +58,15 @@ describe('legacy.switch-field', () => {
5858

5959
it('Preserve right fields when switch them', async () => {
6060
const { container } = render(<Demo />);
61-
fireEvent.change(container.querySelector('.one'), { target: { value: 'value1' } });
61+
await act(async () => {
62+
fireEvent.change(container.querySelector('.one'), { target: { value: 'value1' } });
63+
});
6264
expect(Object.keys(form.getFieldsValue())).toEqual(expect.arrayContaining(['a']));
6365
expect(form.getFieldValue('a')).toBe('value1');
6466
expect(container.querySelector<HTMLInputElement>('.one')?.value).toBe('value1');
65-
fireEvent.click(container.querySelector<HTMLButtonElement>('.sw'));
67+
await act(async () => {
68+
fireEvent.click(container.querySelector<HTMLButtonElement>('.sw'));
69+
});
6670
expect(Object.keys(form.getFieldsValue())).toEqual(expect.arrayContaining(['a']));
6771
expect(form.getFieldValue('a')).toBe('value1');
6872
expect(container.querySelector<HTMLInputElement>('.two')?.value).toBe('value1');

0 commit comments

Comments
 (0)