BackendSrv: Fix error alert logic (#26411)

This commit is contained in:
Torkel Ödegaard 2020-07-17 17:01:21 +02:00 committed by GitHub
parent 903c76415c
commit 3c1346d83a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 1 deletions

View File

@ -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;
}

View File

@ -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();