import { bankCardList } from '@mocks/browser/data'; import { createAppWrapper } from '@mocks/jest/wrappers'; import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { http, HttpResponse } from 'msw'; import type { DeleteExpenseListPath } from '@/entity/expenses/list'; import { DeleteBankCardButton } from '@/features/bank-cards/DeleteBankCardButton'; import { DataTestId } from '@/shared/constants'; const bankCard = bankCardList[0]; const renderButton = () => { render( , { wrapper: createAppWrapper() }, ); const buttonElem = screen.getByTestId(DataTestId.DELETE_BANK_CARD_BUTTON); return { buttonElem, }; }; const openModal = async () => { const { buttonElem } = renderButton(); await userEvent.click(buttonElem); const modalElem = screen.getByRole('presentation'); return { modalElem, }; }; const submitHandler = http.delete( `/bank-card/${bankCard.id}`, () => HttpResponse.json(bankCard), ); export const DeleteBankCardButtonHelper = { openModal, renderButton, submitHandler, };