Commit 3c1346d8 by Torkel Ödegaard Committed by GitHub

BackendSrv: Fix error alert logic (#26411)

parent 903c7641
......@@ -219,7 +219,7 @@ export class BackendSrv implements BackendService {
}
// is showErrorAlert is undefined we only show alerts non data query and local api requests
if (config.showErrorAlert === undefined || isDataQuery(config.url) || !isLocalUrl(config.url)) {
if (config.showErrorAlert === undefined && (isDataQuery(config.url) || !isLocalUrl(config.url))) {
return;
}
......
......@@ -7,6 +7,7 @@ import { BackendSrv } from '../services/backend_srv';
import { Emitter } from '../utils/emitter';
import { ContextSrv, User } from '../services/context_srv';
import { describe, expect } from '../../../test/lib/common';
import { BackendSrvRequest, FetchError } from '@grafana/runtime';
const getTestContext = (overides?: object) => {
const defaults = {
......@@ -217,6 +218,26 @@ describe('backendSrv', () => {
});
});
describe('when showing error alert', () => {
describe('when showErrorAlert is undefined and url is a normal api call', () => {
it('It should emit alert event for normal api errors', async () => {
const { backendSrv, appEventsMock } = getTestContext({});
backendSrv.showErrorAlert(
{
url: 'api/do/something',
} as BackendSrvRequest,
{
data: {
message: 'Something failed',
error: 'Error',
},
} as FetchError
);
expect(appEventsMock.emit).toHaveBeenCalledWith(AppEvents.alertError, ['Something failed', '']);
});
});
});
describe('when making an unsuccessful 422 call', () => {
it('then it should emit Validation failed message', async () => {
jest.useFakeTimers();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment