49 lines
1.1 KiB
TypeScript

import { bankCardList } from '@mocks/browser/data';
import { render, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import type { DeleteBankCardFormProps } from '@/entity/cards';
import { DeleteBankCardForm } from '@/entity/cards';
import { DataTestId } from '@/shared/constants';
const bankCard = bankCardList[0];
const renderForm = (props?: Partial<DeleteBankCardFormProps>) => {
const onSubmit = jest.fn();
render(
<DeleteBankCardForm
bankCard={bankCard}
onSubmit={onSubmit}
{...props}
/>,
);
return {
onSubmit,
};
};
function getFormElements() {
const formElem = screen.getByTestId(DataTestId.DELETE_BANK_CARD_FORM);
const submitButtonElem = screen.getByTestId(DataTestId.DELETE_BANK_CARD_SUBMIT_BUTTON);
return {
formElem,
submitButtonElem,
};
}
async function submitForm() {
const { submitButtonElem } = getFormElements();
await userEvent.click(submitButtonElem);
}
export const DeleteBankCardFormHelper = {
bankCard,
getFormElements,
renderForm,
submitForm,
};