Vue Formulate — тестирование генерации события при нажатии кнопки формы с использованием библиотеки тестирования
У меня есть следующий компонент, использующий Vue Formulate
<template>
<FormulateForm @submit="onSubmit">
<button type="submit">Submit</button>
</FormulateForm>
</template>
<script lang="ts">
import Vue from 'vue'
export default Vue.extend({
name: 'Issue',
methods: {
onSubmit(): void {
this.$emit('my-special-event')
},
},
})
</script>
<style scoped></style>
Моя цель - проверить, что когда я нажимаю кнопку "Отправить",
my-special-event
событие испускается. И мне нужно сделать это с помощью testing-library. Вот моя попытка:
import '@testing-library/jest-dom'
import { fireEvent, render } from '@testing-library/vue'
import Vue from 'vue'
import VueFormulate from '@braid/vue-formulate'
import Issue from '~/components/Issue.vue'
describe('Issue component', () => {
it('test', async () => {
Vue.use(VueFormulate)
const component = render(Issue)
const submitBtn = component.getByText('Submit')
await fireEvent.click(submitBtn)
expect(component.emitted()).not.toEqual({})
})
})
К сожалению, это не работает - никакие события не генерируются. Однако аналогичный тест для формы без формулировки работает нормально.