2023-01-24 12:10:27 -06:00
|
|
|
import { render, screen } from '@testing-library/react';
|
2023-03-14 12:24:04 -05:00
|
|
|
import userEvent from '@testing-library/user-event';
|
2023-01-24 12:10:27 -06:00
|
|
|
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(<SupplementaryResultError error={error} title={title} />);
|
|
|
|
expect(screen.getByText(title)).toBeInTheDocument();
|
|
|
|
expect(screen.getByText(error.data.message)).toBeInTheDocument();
|
|
|
|
});
|
|
|
|
|
2023-03-14 12:24:04 -05:00
|
|
|
it('shows long warning message', async () => {
|
2023-01-24 12:10:27 -06:00
|
|
|
// 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(<SupplementaryResultError error={error} title={title} />);
|
|
|
|
expect(screen.getByText(title)).toBeInTheDocument();
|
|
|
|
expect(screen.queryByText(message)).not.toBeInTheDocument();
|
|
|
|
const button = screen.getByText('Show details');
|
2023-03-14 12:24:04 -05:00
|
|
|
await userEvent.click(button);
|
2023-01-24 12:10:27 -06:00
|
|
|
expect(screen.getByText(message)).toBeInTheDocument();
|
|
|
|
});
|
|
|
|
});
|