Search code examples
vuejs2vuexvue-test-utils

Mocking just part of getters when importing the global store


Any idea if it is possible to mock just a getter from the global store ?

I tried this code but It does not work:

import store from '@/store';
import Vuex from "vuex";

const localVue = createLocalVue();
localVue.use(VueRouter);
localVue.use(Vuex);

const wrapper = mount(App, {
      mocks: {
        $store: {
          getters: {
            isLoggedIn: () => true // This is always returning false. I need this getter to return true value
          },
        }
      },
      store, // this is the global store for my application
      localVue,
      router,
    });

Solution

  • It would be much easier just to use mocks property while mounting the component without calling localVue.use(Vuex) and without creating store instance:

    const wrapper = mount(App, {     
      localVue,
      router,
      mocks: {
        $store: {
          getters: {
            isLoggedIn: () => () => true,
          }
        } 
      }
    });