import { screen, render, fireEvent } from '@testing-library/react'; import DialogTemplate from '../../customDialog/DialogTemplate'; import provideTheme from '../utils/provideTheme'; import { I18nextProvider } from 'react-i18next'; import i18n from '../../../i18n'; describe('test dialog template component', () => { const mockCancelFn = jest.fn(); const mockConfirmFn = jest.fn(); it('renders default state and callbacks', () => { render( provideTheme( dialog content ) ); expect(screen.getByText('dialog template')).toBeInTheDocument(); expect(screen.getByText('dialog content')).toBeInTheDocument(); fireEvent.click(screen.getByRole('button', { name: /cancel/i })); expect(mockCancelFn).toBeCalledTimes(1); fireEvent.click(screen.getByRole('button', { name: /confirm/i })); expect(mockConfirmFn).toBeCalledTimes(1); }); it('checks confirm button disable', () => { render( provideTheme( dialog content ) ); expect(screen.getByRole('button', { name: /confirm/i })).toBeDisabled(); }); });