mirror of
https://github.com/grafana/grafana.git
synced 2025-02-15 01:53:33 -06:00
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import { VariableEditorCtrl } from '../editor_ctrl';
|
|
import { TemplateSrv } from '../template_srv';
|
|
import { AppEvents } from '@grafana/data';
|
|
|
|
let mockEmit: any;
|
|
jest.mock('app/core/app_events', () => {
|
|
mockEmit = jest.fn();
|
|
return {
|
|
emit: mockEmit,
|
|
};
|
|
});
|
|
|
|
describe('VariableEditorCtrl', () => {
|
|
const scope = {
|
|
runQuery: () => {
|
|
return Promise.resolve({});
|
|
},
|
|
};
|
|
|
|
describe('When running a variable query and the data source returns an error', () => {
|
|
beforeEach(() => {
|
|
const variableSrv: any = {
|
|
updateOptions: () => {
|
|
return Promise.reject({
|
|
data: { message: 'error' },
|
|
});
|
|
},
|
|
};
|
|
|
|
return new VariableEditorCtrl(scope, {} as any, variableSrv, {} as TemplateSrv);
|
|
});
|
|
|
|
it('should emit an error', () => {
|
|
return scope.runQuery().then(res => {
|
|
expect(mockEmit).toBeCalled();
|
|
expect(mockEmit.mock.calls[0][0]).toBe(AppEvents.alertError);
|
|
expect(mockEmit.mock.calls[0][1][0]).toBe('Templating');
|
|
expect(mockEmit.mock.calls[0][1][1]).toBe('Template variables could not be initialized: error');
|
|
});
|
|
});
|
|
});
|
|
});
|