history_srv.test.ts 2.1 KB

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