Alerting: Fix threshold expression rewire (#58334)

This commit is contained in:
Gilles De Mey 2022-11-10 16:15:38 +01:00 committed by GitHub
parent 990d8cd22e
commit 738e023d13
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 1 deletions

View File

@ -94,6 +94,28 @@ describe('rule-editor', () => {
queryType: '',
};
const thresholdExpression = {
refId: 'C',
datasourceUid: '-100',
model: {
refId: 'C',
type: 'threshold',
expression: 'B',
datasource: {
type: '__expr__',
uid: '-100',
},
conditions: [
{
evaluator: {
params: [0, 'gt'],
},
},
],
},
queryType: '',
};
describe('rewires query names', () => {
it('should rewire classic expressions', () => {
const queries: AlertQuery[] = [dataSource, classicCondition];
@ -133,6 +155,14 @@ describe('rule-editor', () => {
expect(queryModel.expression).toBe('C');
});
it('should rewire threshold expressions', () => {
const queries: AlertQuery[] = [dataSource, reduceExpression, thresholdExpression];
const rewiredQueries = queriesWithUpdatedReferences(queries, 'B', 'REDUCER');
const queryModel = rewiredQueries[2].model as ExpressionQuery;
expect(queryModel.expression).toBe('REDUCER');
});
it('should rewire multiple expressions', () => {
const queries: AlertQuery[] = [dataSource, mathExpression, resampleExpression];
const rewiredQueries = queriesWithUpdatedReferences(queries, 'A', 'C');

View File

@ -23,6 +23,7 @@ export function queriesWithUpdatedReferences(
const isReduceExpression = query.model.type === 'reduce';
const isResampleExpression = query.model.type === 'resample';
const isClassicExpression = query.model.type === 'classic_conditions';
const isThresholdExpression = query.model.type === 'threshold';
if (isMathExpression) {
return {
@ -34,7 +35,7 @@ export function queriesWithUpdatedReferences(
};
}
if (isResampleExpression || isReduceExpression) {
if (isResampleExpression || isReduceExpression || isThresholdExpression) {
const isReferencing = query.model.expression === previousRefId;
return {