dashboardViewStateSrv-specs.js 1.3 KB

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