Files
grafana/public/app/features/explore/ErrorContainer.test.tsx
Ashley Harrison 47f8717149 React: Use new JSX transform (#88802)
* update eslint, tsconfig + esbuild to handle new jsx transform

* remove thing that breaks the new jsx transform

* remove react imports

* adjust grafana-icons build

* is this the correct syntax?

* try this

* well this was much easier than expected...

* change grafana-plugin-configs webpack config

* fixes

* fix lockfile

* fix 2 more violations

* use path.resolve instead of require.resolve

* remove react import

* fix react imports

* more fixes

* remove React import

* remove import React from docs

* remove another react import
2024-06-25 12:43:47 +01:00

55 lines
1.7 KiB
TypeScript

import { render, screen } from '@testing-library/react';
import { ErrorContainer, ErrorContainerProps } from './ErrorContainer';
describe('ErrorContainer', () => {
it('should render component and show message', () => {
const props: ErrorContainerProps = {
queryError: {
data: {
message: 'Error data message',
error: 'Error data content',
},
message: 'Error message',
status: 500,
statusText: 'Error status text',
refId: 'A',
},
};
render(<ErrorContainer {...props} />);
const alertEl = screen.getByRole('alert');
expect(alertEl).toBeInTheDocument();
expect(alertEl).toHaveTextContent(/query error/i);
expect(alertEl).toHaveTextContent('Error message');
});
it('should render component and show message if message is in data only', () => {
const props: ErrorContainerProps = {
queryError: {
data: {
message: 'Error data message',
error: 'Error data content',
},
status: 500,
statusText: 'Error status text',
refId: 'A',
},
};
render(<ErrorContainer {...props} />);
const alertEl = screen.getByRole('alert');
expect(alertEl).toBeInTheDocument();
expect(alertEl).toHaveTextContent(/query error/i);
expect(alertEl).toHaveTextContent('Error data message');
});
it('should have hidden unknown error if prop is not passed in', () => {
const props: ErrorContainerProps = {};
render(<ErrorContainer {...props} />);
const alertEl = screen.getByRole('alert', { hidden: true });
expect(alertEl).toBeInTheDocument();
expect(alertEl).toHaveTextContent('Unknown error');
});
});