У меня есть наблюдатель за языком в моем компоненте. Я получаю текущий язык от получателя (его значение изменяется с помощью переключателя языка панели инструментов, по умолчанию в state.language "en")
ContactForm.vue
...
data() {
return {
contactLang: "",
...
};
},
computed: {
...mapGetters(["language"]),
},
watch: {
language(newLanguage) {
console.lo("language changed to: ", newLanguage);
this.contactLang = newLanguage;
this.$validator.localize(newLanguage);
}
},
============================
Я пытаюсь проверить часыblock
ContactForm.spec.js
beforeEach(() => {
// create a fresh store instance for every test case.
storeMocks = createStoreMocks();
options = {
sync: false,
provide: () => ({
$validator: v
}),
store: storeMocks.store,
i18n
};
wrapper = shallowMount(ContactForm, options);
});
it("change the form language when locale changed", () => {
// update the Vuex store language , but it does not trigger the watcher ...
wrapper.vm.$store.state.language = "fr";
expect(wrapper.vm.contactLang).toBe("fr");
});
Есть ли способ проверить этот блок часов или мне следует реструктурировать свой код, чтобы избежать такого тестирования в этом компоненте...