From 4e21be94c28baa0dd3dfbc9e741a69988d69116e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Thu, 13 Feb 2020 17:29:21 +0800 Subject: [PATCH] =?UTF-8?q?test(Form):=20add=20submit=E3=80=81failed=20eve?= =?UTF-8?q?nt=20test=20cases?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/form/test/index.spec.js | 59 ++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/src/form/test/index.spec.js b/src/form/test/index.spec.js index e76fc2be8..6f515be80 100644 --- a/src/form/test/index.spec.js +++ b/src/form/test/index.spec.js @@ -1 +1,58 @@ -// import { mount } from '../../../test'; +import { mount, later } from '../../../test'; + +function mountForm(options) { + return mount(options, { attachToDocument: true }); +} + +test('submit event', async () => { + const onSubmit = jest.fn(); + const wrapper = mountForm({ + template: ` + + + + + `, + methods: { + onSubmit, + }, + }); + + wrapper.find('.van-button').trigger('click'); + + await later(); + expect(onSubmit).toHaveBeenCalledWith({ A: 'bar' }); +}); + +test('failed event', async () => { + const onFailed = jest.fn(); + const wrapper = mountForm({ + template: ` + + + + + + `, + data() { + return { + rulesA: [{ required: true, message: 'A failed' }], + rulesB: [{ required: true, message: 'B failed' }], + }; + }, + methods: { + onFailed, + }, + }); + + wrapper.find('.van-button').trigger('click'); + + await later(); + expect(onFailed).toHaveBeenCalledWith({ + errors: [ + { name: 'A', message: 'A failed' }, + { name: 'B', message: 'B failed' }, + ], + values: { A: '', B: '' }, + }); +});