dashboardViewStateSrv-specs.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. define([
  2. 'app/features/dashboard/viewStateSrv'
  3. ], function() {
  4. 'use strict';
  5. describe('when updating view state', function() {
  6. var viewState, location;
  7. var timeSrv = {};
  8. var templateSrv = {};
  9. var contextSrv = {
  10. user: {
  11. orgId: 19
  12. }
  13. };
  14. beforeEach(module('grafana.services'));
  15. beforeEach(module(function($provide) {
  16. $provide.value('timeSrv', timeSrv);
  17. $provide.value('templateSrv', templateSrv);
  18. $provide.value('contextSrv', contextSrv);
  19. }));
  20. beforeEach(inject(function(dashboardViewStateSrv, $location, $rootScope) {
  21. $rootScope.onAppEvent = function() {};
  22. $rootScope.dashboard = {meta: {}};
  23. viewState = dashboardViewStateSrv.create($rootScope);
  24. location = $location;
  25. }));
  26. describe('to fullscreen true and edit true', function() {
  27. it('should update querystring and view state', function() {
  28. var updateState = {fullscreen: true, edit: true, panelId: 1};
  29. viewState.update(updateState);
  30. expect(location.search()).to.eql({fullscreen: true, edit: true, panelId: 1});
  31. expect(viewState.dashboard.meta.fullscreen).to.be(true);
  32. expect(viewState.state.fullscreen).to.be(true);
  33. });
  34. });
  35. describe('to fullscreen false', function() {
  36. it('should remove params from query string', function() {
  37. viewState.update({fullscreen: true, panelId: 1, edit: true});
  38. viewState.update({fullscreen: false});
  39. expect(viewState.dashboard.meta.fullscreen).to.be(false);
  40. expect(viewState.state.fullscreen).to.be(null);
  41. });
  42. });
  43. });
  44. });