grafana/public/app/features/alerting/TestRuleResult.test.tsx
sam boyer f86abf096d
schema: Use generated dashboard model in frontend (#55769)
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: polinaboneva <polina.boneva@grafana.com>
2022-12-20 15:04:14 +01:00

39 lines
1.0 KiB
TypeScript

import { render } from '@testing-library/react';
import React from 'react';
import { PanelModel } from '../dashboard/state';
import { createDashboardModelFixture, createPanelJSONFixture } from '../dashboard/state/__fixtures__/dashboardFixtures';
import { TestRuleResult, Props } from './TestRuleResult';
jest.mock('@grafana/runtime', () => {
const original = jest.requireActual('@grafana/runtime');
return {
...original,
getBackendSrv: () => ({
post: jest.fn(),
}),
};
});
const props: Props = {
panel: new PanelModel({ id: 1 }),
dashboard: createDashboardModelFixture({
panels: [createPanelJSONFixture({ id: 1 })],
}),
};
describe('TestRuleResult', () => {
it('should render without error', () => {
expect(() => render(<TestRuleResult {...props} />)).not.toThrow();
});
it('should call testRule when mounting', () => {
jest.spyOn(TestRuleResult.prototype, 'testRule');
render(<TestRuleResult {...props} />);
expect(TestRuleResult.prototype.testRule).toHaveBeenCalled();
});
});