Я пытаюсь протестировать компонент, который должен быть скрыт при нажатии пользователем. Функциональность работает в браузере, но тесты не проходят при автоматическом тестировании с помощью Jest.
Вот тест:
it(`If the local variable is set to be clicked,
then the tip is hidden`, () => {
const wrapper = mount(Component, { props });
wrapper.setData({ was_clicked: true });
wrapper.vm.$forceUpdate();
expect(wrapper.classes()).toContain("hide"); // fails here
expect(wrapper.find(".toast").isVisible()).toBe(false);
});
Вот компонент:
<template>
<div @click="hide" class="toast" :class="{ hide: was_clicked }">
...
</div>
</template>
<script>
export default {
name: ...,
data() {
return {
was_clicked: false,
};
},
props: {
...
},
methods: {
hide(event) {
this.was_clicked = true;
},
},
};
</script>
Я пытался добавить и удалить wrapper.vm.$forceUpdate();
из теста, также я тестировал nextTick
из wrapper.vm