From 265d461a3f3fce64ea1c4f4c41b2ae55f025d57d Mon Sep 17 00:00:00 2001 From: Michael Kozono Date: Tue, 16 Apr 2019 19:19:09 +0000 Subject: [PATCH] Merge branch '60605-karma-failing' into 'master' Resolve "Karma failing with MrWidgetAlertMessage when helpPath is provided Maximum call stack size exceeded" Closes #60605 See merge request gitlab-org/gitlab-ce!27429 (cherry picked from commit b008942cf61ecada799e3c660cf536a4a5cac65a) 500fd226 Add sync: false to fix Karma tests --- .../mr_widget_alert_message_spec.js | 50 ++++++++++++------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_alert_message_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_alert_message_spec.js index f115cb457e5..8ec17efffb9 100644 --- a/spec/javascripts/vue_mr_widget/components/mr_widget_alert_message_spec.js +++ b/spec/javascripts/vue_mr_widget/components/mr_widget_alert_message_spec.js @@ -11,6 +11,7 @@ describe('MrWidgetAlertMessage', () => { wrapper = shallowMount(localVue.extend(MrWidgetAlertMessage), { propsData: {}, localVue, + sync: false, }); }); @@ -19,45 +20,58 @@ describe('MrWidgetAlertMessage', () => { }); describe('when type is not provided', () => { - it('should render a red message', () => { - expect(wrapper.classes()).toContain('danger_message'); - expect(wrapper.classes()).not.toContain('warning_message'); + it('should render a red message', done => { + wrapper.vm.$nextTick(() => { + expect(wrapper.classes()).toContain('danger_message'); + expect(wrapper.classes()).not.toContain('warning_message'); + done(); + }); }); }); describe('when type === "danger"', () => { - it('should render a red message', () => { + it('should render a red message', done => { wrapper.setProps({ type: 'danger' }); - - expect(wrapper.classes()).toContain('danger_message'); - expect(wrapper.classes()).not.toContain('warning_message'); + wrapper.vm.$nextTick(() => { + expect(wrapper.classes()).toContain('danger_message'); + expect(wrapper.classes()).not.toContain('warning_message'); + done(); + }); }); }); describe('when type === "warning"', () => { - it('should render a red message', () => { + it('should render a red message', done => { wrapper.setProps({ type: 'warning' }); - - expect(wrapper.classes()).toContain('warning_message'); - expect(wrapper.classes()).not.toContain('danger_message'); + wrapper.vm.$nextTick(() => { + expect(wrapper.classes()).toContain('warning_message'); + expect(wrapper.classes()).not.toContain('danger_message'); + done(); + }); }); }); describe('when helpPath is not provided', () => { - it('should not render a help icon/link', () => { - const link = wrapper.find(GlLink); + it('should not render a help icon/link', done => { + wrapper.vm.$nextTick(() => { + const link = wrapper.find(GlLink); - expect(link.exists()).toBe(false); + expect(link.exists()).toBe(false); + done(); + }); }); }); describe('when helpPath is provided', () => { - it('should render a help icon/link', () => { + it('should render a help icon/link', done => { wrapper.setProps({ helpPath: '/path/to/help/docs' }); - const link = wrapper.find(GlLink); + wrapper.vm.$nextTick(() => { + const link = wrapper.find(GlLink); - expect(link.exists()).toBe(true); - expect(link.attributes().href).toBe('/path/to/help/docs'); + expect(link.exists()).toBe(true); + expect(link.attributes().href).toBe('/path/to/help/docs'); + done(); + }); }); }); }); -- GitLab