Проверка вложенных действий vuex - PullRequest
0 голосов
/ 15 октября 2018

Я столкнулся с проблемой, которая должна быть очень распространенной.

У меня есть 2 действия - одно, которое извлекает данные (это происходит при монтировании компонента), и другое, которое запускает несколько мутаций с данными, которые были извлечены.

Минимальный код:

const actions = {
  fetchData({ commit ), ids) {
    Api.getData(ids).then(res => {
      /* do some magic with response */
      const payload = /* serialized data */
      dispatch('initAction', payload);
    }
  },
  initAction({ commit }, payload) {
    /* run few commits */
  }
} 

Проблема в том, что я хочу проверить, вызывается ли initAction после завершения fetchData.

/*This is my mocked jest functions which matches the names in the Vuex store which I inject in my shallow rendered components.*/

actions: {
   initAction: jest.fn().mockName('initAction'),
   fetchData: jest.fn().mockName('fetchQuestions'),
},


/* actual testing code */
const wrapper = mount(Widget, options);
const { organizationId, feedbackId, categoryId } = wrapper.props();
expect(storeMock.modules.widget.actions.fetchData).toHaveBeenCalled();
expect(storeMock.modules.widget.actions.initAction).toHaveBeenCalled();

Кто-нибудьесть какие-нибудь подсказки к этому?Может быть, у кого-нибудь есть примеры по этому варианту использования?

...