Skip to content

Commit

Permalink
test(Form): cover onSubmit w/ unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
eugpoloz committed Mar 31, 2023
1 parent b2df5c8 commit 4bb5df6
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions packages/vkui/src/components/Form/Form.test.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,46 @@
import * as React from 'react';
import { createEvent, fireEvent, render } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { baselineComponent } from '../../testing/utils';
import { Button } from '../Button/Button';
import { Form } from './Form';

describe('Form', () => {
baselineComponent(Form);

describe('checks e.preventDefault()', () => {
const handlePreventDefault = (preventDefault = true) => {
const { getByTestId } = render(
<Form data-testid="form" preventDefault={preventDefault}>
<Button type="submit">__submit__</Button>
</Form>,
);
const form = getByTestId('form');
const submitForm = createEvent.submit(form);

fireEvent(form, submitForm);
expect(submitForm.defaultPrevented).toBe(preventDefault);
};

it('if preventDefault={true} call e.preventDefault()', () => {
return handlePreventDefault(true);
});

it("if preventDefault={false} DON'T call e.preventDefault()", () => {
return handlePreventDefault(false);
});
});

it('calls passed onSubmit()', () => {
const onSubmit = jest.fn();

const { getByText } = render(
<Form onSubmit={onSubmit}>
<Button type="submit">__submit__</Button>
</Form>,
);

userEvent.click(getByText('__submit__'));
expect(onSubmit).toBeCalledTimes(1);
});
});

0 comments on commit 4bb5df6

Please sign in to comment.