mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
QueryEditor: Fix crash in angular panels when query have error (#45422)
This commit is contained in:
parent
b4dd3138ce
commit
befb2afccc
@ -54,10 +54,24 @@ describe('filterPanelDataToQuery', () => {
|
|||||||
|
|
||||||
const panelData = filterPanelDataToQuery(withError, 'B');
|
const panelData = filterPanelDataToQuery(withError, 'B');
|
||||||
expect(panelData).toBeDefined();
|
expect(panelData).toBeDefined();
|
||||||
|
expect(panelData?.state).toBe(LoadingState.Error);
|
||||||
|
expect(panelData?.error).toBe(withError.error);
|
||||||
|
});
|
||||||
|
|
||||||
// @ts-ignore typescript doesn't understand that panelData can't be undefined here
|
it('should set the state to done if the frame has no errors', () => {
|
||||||
expect(panelData.state).toBe(LoadingState.Error);
|
const withError = {
|
||||||
// @ts-ignore typescript doesn't understand that panelData can't be undefined here
|
...data,
|
||||||
expect(panelData.error).toBe(withError.error);
|
};
|
||||||
|
withError.state = LoadingState.Error;
|
||||||
|
|
||||||
|
const panelDataB = filterPanelDataToQuery(withError, 'B');
|
||||||
|
expect(panelDataB?.series.length).toBe(3);
|
||||||
|
expect(panelDataB?.series[0].refId).toBe('B');
|
||||||
|
expect(panelDataB?.state).toBe(LoadingState.Error);
|
||||||
|
|
||||||
|
const panelDataA = filterPanelDataToQuery(withError, 'A');
|
||||||
|
expect(panelDataA?.series.length).toBe(1);
|
||||||
|
expect(panelDataA?.series[0].refId).toBe('A');
|
||||||
|
expect(panelDataA?.state).toBe(LoadingState.Done);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -480,6 +480,8 @@ export function filterPanelDataToQuery(data: PanelData, refId: string): PanelDat
|
|||||||
const error = data.error && data.error.refId === refId ? data.error : undefined;
|
const error = data.error && data.error.refId === refId ? data.error : undefined;
|
||||||
if (error) {
|
if (error) {
|
||||||
state = LoadingState.Error;
|
state = LoadingState.Error;
|
||||||
|
} else {
|
||||||
|
state = LoadingState.Done;
|
||||||
}
|
}
|
||||||
|
|
||||||
const timeRange = data.timeRange;
|
const timeRange = data.timeRange;
|
||||||
|
Loading…
Reference in New Issue
Block a user