editor_ctrl.test.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { VariableEditorCtrl } from '../editor_ctrl';
  2. import { TemplateSrv } from '../template_srv';
  3. let mockEmit: any;
  4. jest.mock('app/core/app_events', () => {
  5. mockEmit = jest.fn();
  6. return {
  7. emit: mockEmit,
  8. };
  9. });
  10. describe('VariableEditorCtrl', () => {
  11. const scope = {
  12. runQuery: () => {
  13. return Promise.resolve({});
  14. },
  15. };
  16. describe('When running a variable query and the data source returns an error', () => {
  17. beforeEach(() => {
  18. const variableSrv: any = {
  19. updateOptions: () => {
  20. return Promise.reject({
  21. data: { message: 'error' },
  22. });
  23. },
  24. };
  25. return new VariableEditorCtrl(scope, {} as any, variableSrv, {} as TemplateSrv);
  26. });
  27. it('should emit an error', () => {
  28. return scope.runQuery().then(res => {
  29. expect(mockEmit).toBeCalled();
  30. expect(mockEmit.mock.calls[0][0]).toBe('alert-error');
  31. expect(mockEmit.mock.calls[0][1][0]).toBe('Templating');
  32. expect(mockEmit.mock.calls[0][1][1]).toBe('Template variables could not be initialized: error');
  33. });
  34. });
  35. });
  36. });