import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import React from 'react'; import { SupplementaryResultError } from './SupplementaryResultError'; describe('SupplementaryResultError', () => { it('shows short warning message', () => { const error = { data: { message: 'Test error message' } }; const title = 'Error loading supplementary query'; render(); expect(screen.getByText(title)).toBeInTheDocument(); expect(screen.getByText(error.data.message)).toBeInTheDocument(); }); it('shows long warning message', async () => { // we make a long message const messagePart = 'One two three four five six seven eight nine ten.'; const message = messagePart.repeat(3); const error = { data: { message } }; const title = 'Error loading supplementary query'; render(); expect(screen.getByText(title)).toBeInTheDocument(); expect(screen.queryByText(message)).not.toBeInTheDocument(); const button = screen.getByText('Show details'); await userEvent.click(button); expect(screen.getByText(message)).toBeInTheDocument(); }); });