import Vue from 'vue' import { mount } from '@vue/test-utils' import EmailVerification from '@/components/user/EmailVerification' import { swal } from '@/js/notify' jest.mock('@/js/notify') test('message box should not be render if verified', () => { window.blessing.extra = { unverified: false } const wrapper = mount(EmailVerification) expect(wrapper.isEmpty()).toBeTrue() }) test('resend email', async () => { window.blessing.extra = { unverified: true } Vue.prototype.$http.post .mockResolvedValueOnce({ errno: 1, msg: '1' }) .mockResolvedValueOnce({ errno: 0, msg: '0' }) const wrapper = mount(EmailVerification) const button = wrapper.find('a') button.trigger('click') await wrapper.vm.$nextTick() expect(swal).toBeCalledWith({ type: 'warning', text: '1' }) button.trigger('click') await wrapper.vm.$nextTick() expect(swal).toBeCalledWith({ type: 'success', text: '0' }) })