mirror of
https://github.com/grafana/grafana.git
synced 2025-02-15 10:03:33 -06:00
92 lines
2.5 KiB
TypeScript
92 lines
2.5 KiB
TypeScript
import { ActionTypes, Action } from './actions';
|
|
import { alertRulesReducer, initialState } from './reducers';
|
|
import { AlertRuleDTO } from 'app/types';
|
|
|
|
describe('Alert rules', () => {
|
|
const payload: AlertRuleDTO[] = [
|
|
{
|
|
id: 2,
|
|
dashboardId: 7,
|
|
dashboardUid: 'ggHbN42mk',
|
|
dashboardSlug: 'alerting-with-testdata',
|
|
panelId: 4,
|
|
name: 'TestData - Always Alerting',
|
|
state: 'alerting',
|
|
newStateDate: '2018-09-04T10:00:30+02:00',
|
|
evalDate: '0001-01-01T00:00:00Z',
|
|
evalData: { evalMatches: [{ metric: 'A-series', tags: null, value: 215 }] },
|
|
executionError: '',
|
|
url: '/d/ggHbN42mk/alerting-with-testdata',
|
|
},
|
|
{
|
|
id: 1,
|
|
dashboardId: 7,
|
|
dashboardUid: 'ggHbN42mk',
|
|
dashboardSlug: 'alerting-with-testdata',
|
|
panelId: 3,
|
|
name: 'TestData - Always OK',
|
|
state: 'ok',
|
|
newStateDate: '2018-09-04T10:01:01+02:00',
|
|
evalDate: '0001-01-01T00:00:00Z',
|
|
evalData: {},
|
|
executionError: '',
|
|
url: '/d/ggHbN42mk/alerting-with-testdata',
|
|
},
|
|
{
|
|
id: 3,
|
|
dashboardId: 7,
|
|
dashboardUid: 'ggHbN42mk',
|
|
dashboardSlug: 'alerting-with-testdata',
|
|
panelId: 3,
|
|
name: 'TestData - ok',
|
|
state: 'ok',
|
|
newStateDate: '2018-09-04T10:01:01+02:00',
|
|
evalDate: '0001-01-01T00:00:00Z',
|
|
evalData: {},
|
|
executionError: 'error',
|
|
url: '/d/ggHbN42mk/alerting-with-testdata',
|
|
},
|
|
{
|
|
id: 4,
|
|
dashboardId: 7,
|
|
dashboardUid: 'ggHbN42mk',
|
|
dashboardSlug: 'alerting-with-testdata',
|
|
panelId: 3,
|
|
name: 'TestData - Paused',
|
|
state: 'paused',
|
|
newStateDate: '2018-09-04T10:01:01+02:00',
|
|
evalDate: '0001-01-01T00:00:00Z',
|
|
evalData: {},
|
|
executionError: 'error',
|
|
url: '/d/ggHbN42mk/alerting-with-testdata',
|
|
},
|
|
{
|
|
id: 5,
|
|
dashboardId: 7,
|
|
dashboardUid: 'ggHbN42mk',
|
|
dashboardSlug: 'alerting-with-testdata',
|
|
panelId: 3,
|
|
name: 'TestData - Ok',
|
|
state: 'ok',
|
|
newStateDate: '2018-09-04T10:01:01+02:00',
|
|
evalDate: '0001-01-01T00:00:00Z',
|
|
evalData: {
|
|
noData: true,
|
|
},
|
|
executionError: 'error',
|
|
url: '/d/ggHbN42mk/alerting-with-testdata',
|
|
},
|
|
];
|
|
|
|
it('should set alert rules', () => {
|
|
const action: Action = {
|
|
type: ActionTypes.LoadedAlertRules,
|
|
payload: payload,
|
|
};
|
|
|
|
const result = alertRulesReducer(initialState, action);
|
|
expect(result.items.length).toEqual(payload.length);
|
|
expect(result.items[0].stateClass).toEqual('alert-state-critical');
|
|
});
|
|
});
|