Хелперы для тестирования форм с Vitest и @testing-library/react.
import { renderForm, fillField, submitForm } from '@letar/forms/testing'
it('отправляет форму', async () => {
const { onSubmit } = renderForm(ContactForm)
await fillField('name', 'Иван')
await fillField('email', 'ivan@test.com')
await submitForm()
expect(onSubmit).toHaveBeenCalled()
})import { renderForm, fillField, submitForm, expectFieldError } from '@letar/forms/testing'
it('показывает ошибки валидации', async () => {
renderForm(ContactForm)
await fillField('email', 'невалидный')
await submitForm()
expectFieldError('email', 'Некорректный email')
})// Рендер
renderForm(Component, options?)
TestWrapper
// Взаимодействие
fillField(name, value)
submitForm(buttonText?)
// Ассерты
expectFieldError(name, message)
expectNoFieldError(name)
expectFieldValue(name, value)
// Мультистеп
goToStep(step)
expectActiveStep(step)
// Массивы
addItem(listName?)
removeItem(index, listName?)
expectItemCount(listName, count)