HistorySrv.test.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { versions, restore } from './__mocks__/history';
  2. import { HistorySrv } from './HistorySrv';
  3. import { DashboardModel } from '../../dashboard_model';
  4. jest.mock('app/core/store');
  5. describe('historySrv', () => {
  6. const versionsResponse = versions();
  7. const restoreResponse = restore;
  8. const backendSrv = {
  9. get: jest.fn(() => Promise.resolve({})),
  10. post: jest.fn(() => Promise.resolve({})),
  11. };
  12. let historySrv = new HistorySrv(backendSrv);
  13. const dash = new DashboardModel({ id: 1 });
  14. const emptyDash = new DashboardModel({});
  15. const historyListOpts = { limit: 10, start: 0 };
  16. describe('getHistoryList', () => {
  17. it('should return a versions array for the given dashboard id', () => {
  18. backendSrv.get = jest.fn(() => Promise.resolve(versionsResponse));
  19. historySrv = new HistorySrv(backendSrv);
  20. return historySrv.getHistoryList(dash, historyListOpts).then(versions => {
  21. expect(versions).toEqual(versionsResponse);
  22. });
  23. });
  24. it('should return an empty array when not given an id', () => {
  25. return historySrv.getHistoryList(emptyDash, historyListOpts).then(versions => {
  26. expect(versions).toEqual([]);
  27. });
  28. });
  29. it('should return an empty array when not given a dashboard', () => {
  30. return historySrv.getHistoryList(null, historyListOpts).then(versions => {
  31. expect(versions).toEqual([]);
  32. });
  33. });
  34. });
  35. describe('restoreDashboard', () => {
  36. it('should return a success response given valid parameters', () => {
  37. const version = 6;
  38. backendSrv.post = jest.fn(() => Promise.resolve(restoreResponse(version)));
  39. historySrv = new HistorySrv(backendSrv);
  40. return historySrv.restoreDashboard(dash, version).then(response => {
  41. expect(response).toEqual(restoreResponse(version));
  42. });
  43. });
  44. it('should return an empty object when not given an id', async () => {
  45. historySrv = new HistorySrv(backendSrv);
  46. const rsp = await historySrv.restoreDashboard(emptyDash, 6);
  47. expect(rsp).toEqual({});
  48. });
  49. });
  50. });