import { mount } from '@vue/test-utils';
import { asyncExpect } from '@/tests/utils';
import Form from '..';
describe('Form', () => {
it('should display two message', async () => {
const rules = [
{
pattern: /^\w+$/,
message: 'Error message 1',
},
{
pattern: /^\w+$/,
message: 'Error message 2',
},
];
let myForm;
const Form1 = Form.create()({
render() {
myForm = this.form;
return (
{this.form.getFieldDecorator('account', { initialValue: '+=-/', rules })()}
);
},
});
const wrapper = mount(Form1, {
sync: false,
});
await asyncExpect(() => {
myForm.validateFields();
});
wrapper.vm.$forceUpdate();
expect(wrapper.html()).toMatchSnapshot();
});
it('should display custom message', () => {
let myForm;
const Form1 = Form.create()({
created() {
myForm = this.form;
},
render() {
const rules = [
{
pattern: /^$/,
message: (
Account does not exist,{' '}
Forgot account?
),
},
];
return (
{this.form.getFieldDecorator('account', { initialValue: 'antd', rules })()}
);
},
});
const wrapper = mount(Form1);
myForm.validateFields();
wrapper.vm.$forceUpdate();
expect(wrapper.html()).toMatchSnapshot();
});
});