12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import { render, screen } from '@testing-library/react';
- import { defaultsDeep } from 'lodash';
- import React from 'react';
- import { Provider } from 'react-redux';
- import { getDefaultTimeRange, LoadingState } from '@grafana/data';
- import { PanelDataErrorViewProps } from '@grafana/runtime';
- import { configureStore } from 'app/store/configureStore';
- import { PanelDataErrorView } from './PanelDataErrorView';
- describe('PanelDataErrorView', () => {
- it('show No data when there is no data', () => {
- renderWithProps();
- expect(screen.getByText('No data')).toBeInTheDocument();
- });
- it('show no value field config when there is no data', () => {
- renderWithProps({
- fieldConfig: {
- overrides: [],
- defaults: {
- noValue: 'Query returned nothing',
- },
- },
- });
- expect(screen.getByText('Query returned nothing')).toBeInTheDocument();
- });
- });
- function renderWithProps(overrides?: Partial<PanelDataErrorViewProps>) {
- const defaults: PanelDataErrorViewProps = {
- panelId: 1,
- data: {
- state: LoadingState.Done,
- series: [],
- timeRange: getDefaultTimeRange(),
- },
- };
- const props = defaultsDeep(overrides ?? {}, defaults);
- const store = configureStore();
- const stuff = render(
- <Provider store={store}>
- <PanelDataErrorView {...props} />
- </Provider>
- );
- return { ...stuff };
- }
|