Я столкнулся с проблемой, которая должна быть очень распространенной.
У меня есть 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();
Кто-нибудьесть какие-нибудь подсказки к этому?Может быть, у кого-нибудь есть примеры по этому варианту использования?