Just in case this helps anyone, it’s easy enough to simply replace the $q.dialog function with a mock function that returns a Promise.resolve(). Be sure to handle the promise asynchronously import flushPromises from 'flush-promises' it('will emit signUp when the dialog is confirmed', async () => { const wrapper = createWrapper() wrapper.vm.$q.dialog = jest.fn(() => Promise.resolve()) await flushPromises() expect(wrapper.emitted()).toHaveProperty('signUp) })