import { mount } from '@vue/test-utils' import Form from '..' describe('Form', () => { it('should display two message', () => { const rules = [{ pattern: /^\w+$/, message: 'Error message 1', }, { pattern: /^\w+$/, message: 'Error message 2', }] let myForm const Form1 = Form.create()({ render () { return ( <Form> <Form.Item label='Account'> {this.form.getFieldDecorator('account', { initialValue: '+=-/', rules })(<input />)} </Form.Item> </Form> ) }, }) const wrapper = mount(Form1, { propsData: { wrappedComponentRef: (inst) => { myForm = inst.form }, }}) 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: <span>Account does not exist, <a rel='noopener noreferrer' href='https://www.alipay.com/' target='_blank'>Forgot account?</a></span>, }] return ( <Form> <Form.Item label='Account'> {this.form.getFieldDecorator('account', { initialValue: 'antd', rules })(<input />)} </Form.Item> </Form> ) }, }) const wrapper = mount(Form1) myForm.validateFields() wrapper.vm.$forceUpdate() expect(wrapper.html()).toMatchSnapshot() }) })