+
+
+
+
- await flushPromises()
-
- expect(wrapper.emitted('validation')).toBeTruthy()
- expect(wrapper.emitted('validation').length).toBe(1)
- expect(wrapper.emitted('validation')[0][0]).toEqual({
- name: 'firstField',
- violations: [ {
- rule: expect.any(String),
- args: ['foo'],
- context: {
- value: 'bar',
- formValues: expect.any(Object),
- name: 'firstField',
- },
- message: expect.any(String),
- } ],
- })
- })
-
- it('Allows resetting a form, wiping validation.', async () => {
- const wrapper = mount({
- data: () => ({ values: {} }),
- template: `
-
-
-
-
-
-
-
-
- `,
+
+
+
+
+
+ `,
+ },
})
const password = wrapper.find('input[type="password"]')
password.setValue('foo')
+ password.trigger('input')
password.trigger('blur')
- wrapper.find('form').trigger('submit')
- wrapper.vm.$refs.form.setErrors({ inputErrors: { username: ['Failed'] } })
-
await flushPromises()
- // First make sure we caught the errors
- expect(Object.keys(wrapper.vm.$refs.form.mergedFieldErrors).length).toBe(1)
- wrapper.vm.$refs.form.resetValidation()
+ wrapper.vm.setErrors({ fieldsErrors: { username: ['required'] } })
- await flushPromises()
+ await Vue.nextTick()
- expect(Object.keys(wrapper.vm.$refs.form.mergedFieldErrors).length).toBe(0)
+ expect(wrapper.findAll('[data-username-error]').length).toBe(1)
+ expect(wrapper.findAll('[data-password-error]').length).toBe(1)
+
+ wrapper.vm.resetValidation()
+
+ await Vue.nextTick()
+
+ expect(wrapper.findAll('[data-username-error]').length).toBe(0)
+ expect(wrapper.findAll('[data-password-error]').length).toBe(0)
})
- it('Local errors resetted when errors prop cleared', async () => {
- const wrapper = mount({
- data: () => ({ values: {}, errors: { input: ['failure'] } }),
- template: `
-