2020-03-11 04:01:58 -05:00
|
|
|
import React from 'react';
|
2022-03-18 14:44:51 -05:00
|
|
|
import { render, screen } from '@testing-library/react';
|
|
|
|
import { ErrorContainer, ErrorContainerProps } from './ErrorContainer';
|
2020-03-11 04:01:58 -05:00
|
|
|
|
2022-03-18 14:44:51 -05:00
|
|
|
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',
|
2022-04-14 05:57:56 -05:00
|
|
|
status: 500,
|
2022-03-18 14:44:51 -05:00
|
|
|
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');
|
|
|
|
});
|
2020-03-11 04:01:58 -05:00
|
|
|
|
2022-03-18 14:44:51 -05:00
|
|
|
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',
|
|
|
|
},
|
2022-04-14 05:57:56 -05:00
|
|
|
status: 500,
|
2022-03-18 14:44:51 -05:00
|
|
|
statusText: 'Error status text',
|
|
|
|
refId: 'A',
|
|
|
|
},
|
|
|
|
};
|
|
|
|
render(<ErrorContainer {...props} />);
|
2020-03-11 04:01:58 -05:00
|
|
|
|
2022-03-18 14:44:51 -05:00
|
|
|
const alertEl = screen.getByRole('alert');
|
|
|
|
expect(alertEl).toBeInTheDocument();
|
|
|
|
expect(alertEl).toHaveTextContent(/query error/i);
|
|
|
|
expect(alertEl).toHaveTextContent('Error data message');
|
|
|
|
});
|
2020-03-11 04:01:58 -05:00
|
|
|
|
2022-03-18 14:44:51 -05:00
|
|
|
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');
|
2020-03-11 04:01:58 -05:00
|
|
|
});
|
|
|
|
});
|