import { shallowMount } from '@vue/test-utils'; import { eventHub } from '~/vue_shared/components/recaptcha_eventhub'; import RecaptchaModal from '~/vue_shared/components/recaptcha_modal.vue'; describe('RecaptchaModal', () => { const recaptchaFormId = 'recaptcha-form'; const recaptchaHtml = `
`; let wrapper; const findRecaptchaForm = () => wrapper.find(`#${recaptchaFormId}`).element; beforeEach(() => { wrapper = shallowMount(RecaptchaModal, { propsData: { html: recaptchaHtml, }, }); }); afterEach(() => { wrapper.destroy(); }); it('submits the form if event hub emits submit event', () => { const form = findRecaptchaForm(); jest.spyOn(form, 'submit').mockImplementation(); eventHub.$emit('submit'); expect(form.submit).toHaveBeenCalled(); }); });