Я пытаюсь проверить мой компонент «Контейнер», который обрабатывает логику форм.Он использует vue-router
и vuex
хранилище для отправки действий для получения сведений о формах.
У меня есть следующий код устройства, который не работает должным образом:
it('On route enter, it should dispatch an action to fetch form details', () => {
const getFormDetails = sinon.stub();
const store = new Vuex.Store({
actions: { getFormDetails }
});
const wrapper = shallowMount(MyComponent, { store });
wrapper.vm.$options.beforeRouteEnter[0]();
expect(getFormDetails.called).to.be.true;
});
Со следующим компонентом (лишенным всего, потому что я не считаю его релевантным (надеюсь):
export default {
async beforeRouteEnter(to, from, next) {
await store.dispatch('getFormDetails');
next();
}
};
я получаю следующую ошибку утверждения:
AssertionError: expected false to be true
Я предполагаю, что это потому, что я не монтирую маршрутизатор в своем тесте вместе с localVue . Я попытался выполнить шаги, но не смог заставить его вызвать beforeRouteEnter
.
В идеале я хотел бы внедрить маршрутизатор с начальным путем и провести разные тесты на изменение маршрута. Для моего случая использования я бы хотел вводить разные реквизиты / отправлять различные действия на основе компонента на основе путироутера.
Я очень новичок в Vue, поэтому извиняюсь, если мне не хватает чего-то очень очевидного, и заранее благодарю за любую помощь! ??