From c378505293edda72139e4771e939571f59b8329c Mon Sep 17 00:00:00 2001 From: roschaefer Date: Fri, 20 Sep 2019 20:30:57 +0200 Subject: [PATCH] Add one test case for update user form --- webapp/components/utils/UniqueSlugForm.js | 7 +++++- webapp/pages/settings/index.spec.js | 29 +++++++++++++++++++++-- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/webapp/components/utils/UniqueSlugForm.js b/webapp/components/utils/UniqueSlugForm.js index c254904d0..c363fa608 100644 --- a/webapp/components/utils/UniqueSlugForm.js +++ b/webapp/components/utils/UniqueSlugForm.js @@ -5,7 +5,12 @@ export default function UniqueSlugForm({ translate, apollo, currentUser }) { return { formSchema: { slug: [ - {type: "string", required: true, pattern: /^[a-z0-9_-]+$/, message: translate('settings.validation.slug.regex') }, + { + type: 'string', + required: true, + pattern: /^[a-z0-9_-]+$/, + message: translate('settings.validation.slug.regex'), + }, { asyncValidator(rule, value, callback) { debounce(() => { diff --git a/webapp/pages/settings/index.spec.js b/webapp/pages/settings/index.spec.js index fcca4cbc3..1040f2ad0 100644 --- a/webapp/pages/settings/index.spec.js +++ b/webapp/pages/settings/index.spec.js @@ -59,9 +59,34 @@ describe('index.vue', () => { expect(Wrapper().contains('div')).toBe(true) }) - describe('given we bypass the slug validations', () => { + describe('given form validation errors', () => { + beforeEach(() => { + options = { + ...options, + computed: { + formSchema: () => ({ + slug: [ + (_rule, _value, callback) => { + callback(new Error('Ouch!')) + }, + ], + }), + }, + } + }) + + it('cannot call updateUser mutation', () => { + const wrapper = Wrapper() + + wrapper.find('#name').setValue('Peter') + wrapper.find('.ds-form').trigger('submit') + + expect(mocks.$apollo.mutate).not.toHaveBeenCalled() + }) + }) + + describe('no form validation errors', () => { beforeEach(() => { - // I gave up after 3 hours, feel free to remove the line below options = { ...options, computed: { formSchema: () => ({}) } } })