Tengo una prueba en mi proyecto vue que se parece a esto,
it('should close on dialog close click', async () => { wrapper = mountWith({open :true}); wrapper.find('.c-dialog__close').trigger('click'); await Vue.nextTick(); console.log(wrapper.vm.open); expect(wrapper.vm.open).toBe(false); }); Espero que wrapper.vm.open pase de true a false cuando se activa el clic, pero se mantiene como falso. En la interfaz de usuario real, el clic funciona y el programa se establece en falso, por lo que debe haber algo en la prueba que esté mal. El código del componente está debajo,
<template> <!-- eslint-disable vue/no-v-html --> <div class="c-dialog" :class="{'u-block': show}" @triggerOpen="handleOpen"> <div class="c-dialog__background" @click="handleClose"> <div class="c-dialog__wrapper u-mt-4 u-mb-1"> <div class="c-dialog__action u-flex"> <button class="c-dialog__close u-bg-denim-blue u-border-0 u-text-white" @click="handleClose()">Close</button> </div> <div class="c-dialog__main u-px-2 u-py-4 u-border u-bg-white"> <h4>{{ content.title }}</h4> <div class="c-dialog__content u-mt-2" v-html="content.content" /> </div> </div> </div> </div> </template> <script lang="ts"> import Vue from 'vue'; export default Vue.extend({ props: { content: { type: Object, required: true } }, data() { return { show: false } }, methods: { handleOpen() { this.show = true; }, handleClose() { this.show = false; } } }); </script>Es posible que ya lo haya descubierto, en su componente tiene 'mostrar', pero en su prueba espera que 'abierto' sea verdadero.