grafana/public/app/features/explore/SupplementaryResultError.test.tsx

32 lines
1.2 KiB
TypeScript
Raw Normal View History

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(<SupplementaryResultError error={error} title={title} />);
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(<SupplementaryResultError error={error} title={title} />);
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();
});
});