import{shallowMount,createLocalVue}from'@vue/test-utils'importVuexfrom'vuex'importForgotPasswordfrom'../../src/pages/ForgotPassword.vue'constlocalVue=createLocalVue()localVue.use(Vuex)describe('Login',()=>{letactionsletstoreletgettersletmocksbeforeEach(()=>{mocks={$t:(msg)=>{returnmsg}}actions={forgotPassword:jest.fn()}getters={error:jest.fn()}store=newVuex.Store({state:{error:undefined,loading:false},actions,getters})})it('sets the correct default data',()=>{expect(typeofForgotPassword.data).toBe('function')constdefaultData=ForgotPassword.data()expect(defaultData.email).toBe('')})it('triggers forgotPassword action on submit button click with data',()=>{constwrapper=shallowMount(ForgotPassword,{localVue,store,mocks,stubs:['router-link']})wrapper.setData({email:'e@mail.com'})wrapper.find('#ForgotPassword').trigger('submit')expect(actions.forgotPassword.mock.calls).toHaveLength(1)expect(actions.forgotPassword.mock.calls[0][1]).toEqual({email:'e@mail.com'})})})
Comments (0)
HTTPSSSH
You can clone a snippet to your computer for local editing.
Learn more.