/// import { render } from '@testing-library/react' import userEvent from '@testing-library/user-event' import '@testing-library/jest-dom' import * as React from 'react' import { createFormFactory } from '..' const user = userEvent.setup() describe('useForm', () => { it('preserves field state', async () => { type Person = { firstName: string lastName: string } const formFactory = createFormFactory() function Comp() { const form = formFactory.useForm() return ( { return ( field.handleChange(e.target.value)} /> ) }} /> ) } const { getByTestId, queryByText } = render() const input = getByTestId('fieldinput') expect(queryByText('FirstName')).not.toBeInTheDocument() await user.type(input, 'FirstName') expect(input).toHaveValue('FirstName') }) it('should allow default values to be set', async () => { type Person = { firstName: string lastName: string } const formFactory = createFormFactory() function Comp() { const form = formFactory.useForm({ defaultValues: { firstName: 'FirstName', lastName: 'LastName', }, }) return ( { return

{field.state.value}

}} />
) } const { findByText, queryByText } = render() expect(await findByText('FirstName')).toBeInTheDocument() expect(queryByText('LastName')).not.toBeInTheDocument() }) })