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({})
  })
})

К сожалению, это не работает - никакие события не генерируются. Однако аналогичный тест для формы без формулировки работает нормально.

0 ответов

Другие вопросы по тегам