import React from 'react'; import { fireEvent } from '@testing-library/react'; import renderWithTheme from '../../../testUtils/renderWithTheme'; import Result from '..'; import Button from '../../Button'; describe('rendering', () => { it('renders result content', () => { const { queryByText } = renderWithTheme( Extra} /> ); expect(queryByText('Title')).toBeInTheDocument(); expect(queryByText('Sub title')).toBeInTheDocument(); expect(queryByText('Extra')).toBeInTheDocument(); }); it('allows to customize icon', () => { const { queryByText } = renderWithTheme( Customised icon} /> ); expect(queryByText('Title')).toBeInTheDocument(); expect(queryByText('Customised icon')).toBeInTheDocument(); }); }); describe('interaction', () => { it('allows to interact on extra section', () => { const onClick = jest.fn(); const { getByText } = renderWithTheme( onClick('foo')} />} /> ); fireEvent.click(getByText('Click me')); expect(onClick).toHaveBeenCalledTimes(1); expect(onClick).toHaveBeenCalledWith('foo'); }); it('allows to customize icon', () => { const { queryByText } = renderWithTheme( Customised icon} /> ); expect(queryByText('Title')).toBeInTheDocument(); expect(queryByText('Customised icon')).toBeInTheDocument(); }); });