Files
grafana/public/app/features/dashboard/components/DashNav/DashNavTimeControls.test.tsx
Ashley Harrison 3cf95d7eee Chore: fix some anys pt.2 (#53928)
* correctly type some more any's

* undo this change for now...
2022-08-22 16:51:33 +01:00

70 lines
2.3 KiB
TypeScript

import { render } from '@testing-library/react';
import React from 'react';
import { getDashboardModel } from '../../../../../test/helpers/getDashboardModel';
import { DashboardModel } from '../../state/DashboardModel';
import { PanelModel } from '../../state/PanelModel';
import { DashNavTimeControls } from './DashNavTimeControls';
describe('DashNavTimeControls', () => {
let dashboardModel: DashboardModel;
beforeEach(() => {
const json = {
panels: [
{
datasource: null,
gridPos: {
h: 3,
w: 24,
x: 0,
y: 8,
},
id: 1,
type: 'welcome',
},
],
refresh: '',
templating: {
list: [],
},
};
dashboardModel = getDashboardModel(json);
});
it('renders RefreshPicker with run button in panel view', () => {
const container = render(
<DashNavTimeControls dashboard={dashboardModel} onChangeTimeZone={jest.fn()} key="time-controls" />
);
expect(container.queryByLabelText(/Refresh dashboard/i)).toBeInTheDocument();
});
it('renders RefreshPicker with interval button in panel view', () => {
const container = render(
<DashNavTimeControls dashboard={dashboardModel} onChangeTimeZone={jest.fn()} key="time-controls" />
);
expect(container.queryByLabelText(/Choose refresh time interval/i)).toBeInTheDocument();
});
it('should not render RefreshPicker interval button in panel edit', () => {
const panel: PanelModel = new PanelModel({ destroy: jest.fn(), isEditing: true });
dashboardModel.startRefresh = jest.fn();
dashboardModel.panelInEdit = panel;
const container = render(
<DashNavTimeControls dashboard={dashboardModel} onChangeTimeZone={jest.fn()} key="time-controls" />
);
expect(container.queryByLabelText(/Choose refresh time interval/i)).not.toBeInTheDocument();
});
it('should render RefreshPicker run button in panel edit', () => {
const panel: PanelModel = new PanelModel({ destroy: jest.fn(), isEditing: true });
dashboardModel.startRefresh = jest.fn();
dashboardModel.panelInEdit = panel;
const container = render(
<DashNavTimeControls dashboard={dashboardModel} onChangeTimeZone={jest.fn()} key="time-controls" />
);
expect(container.queryByLabelText(/Refresh dashboard/i)).toBeInTheDocument();
});
});