From 436f6bda3ed222c237403f7a01d19a106e1622a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Wed, 13 Aug 2014 15:17:01 +0200 Subject: [PATCH] Fixed unit tests for dashboardViewStateSrv --- src/test/specs/dashboardSrv-specs.js | 34 ++--------------- src/test/specs/dashboardViewStateSrv-specs.js | 37 +++++++++++++++++++ src/test/specs/helpers.js | 7 +++- src/test/test-main.js | 1 + 4 files changed, 48 insertions(+), 31 deletions(-) create mode 100644 src/test/specs/dashboardViewStateSrv-specs.js diff --git a/src/test/specs/dashboardSrv-specs.js b/src/test/specs/dashboardSrv-specs.js index 5b3684ec02a..5b09fc1d65a 100644 --- a/src/test/specs/dashboardSrv-specs.js +++ b/src/test/specs/dashboardSrv-specs.js @@ -54,6 +54,10 @@ define([ expect(model.title).to.be('No Title'); }); + it('should have panel id', function() { + expect(graph.id).to.be(1); + }); + it('should move time and filtering list', function() { expect(model.time.from).to.be('now-1d'); expect(model.templating.list[0]).to.be(1); @@ -78,34 +82,4 @@ define([ }); - describe('when updating view state', function() { - var viewState, location; - - beforeEach(module('grafana.services')); - - beforeEach(inject(function(dashboardSrv, $location) { - viewState = dashboardSrv.createViewState(); - location = $location; - })); - - describe('to fullscreen true and edit true', function() { - it('should update querystring and view state', function() { - var updateState = { fullscreen: true, edit: true, panelId: 1 }; - viewState.update(updateState); - expect(location.search()).to.eql(updateState); - expect(viewState).to.eql(updateState); - }); - }); - - describe('to fullscreen false', function() { - it('should remove params from query string', function() { - viewState.update({fullscreen: true, panelId: 1, edit: true}); - viewState.update({fullscreen: false}); - expect(location.search()).to.eql({}); - expect(viewState).to.eql({}); - }); - }); - - }); - }); diff --git a/src/test/specs/dashboardViewStateSrv-specs.js b/src/test/specs/dashboardViewStateSrv-specs.js new file mode 100644 index 00000000000..92e444d55d0 --- /dev/null +++ b/src/test/specs/dashboardViewStateSrv-specs.js @@ -0,0 +1,37 @@ +define([ + 'services/dashboard/dashboardViewStateSrv' +], function() { + 'use strict'; + + describe('when updating view state', function() { + var viewState, location; + + beforeEach(module('grafana.services')); + + beforeEach(inject(function(dashboardViewStateSrv, $location, $rootScope) { + $rootScope.onAppEvent = function(){}; + viewState = dashboardViewStateSrv.create($rootScope); + location = $location; + })); + + describe('to fullscreen true and edit true', function() { + it('should update querystring and view state', function() { + var updateState = { fullscreen: true, edit: true, panelId: 1 }; + viewState.update(updateState); + expect(location.search()).to.eql(updateState); + expect(viewState.fullscreen).to.be(true); + }); + }); + + describe('to fullscreen false', function() { + it('should remove params from query string', function() { + viewState.update({fullscreen: true, panelId: 1, edit: true}); + viewState.update({fullscreen: false}); + expect(location.search()).to.eql({}); + expect(viewState.fullscreen).to.be(false); + }); + }); + + }); + +}); diff --git a/src/test/specs/helpers.js b/src/test/specs/helpers.js index 3b850ecfc2d..465e5344779 100644 --- a/src/test/specs/helpers.js +++ b/src/test/specs/helpers.js @@ -26,7 +26,7 @@ define([ self.scope.panel = {}; self.scope.row = { panels:[] }; self.scope.filter = new FilterSrvStub(); - self.scope.dashboardViewState = { update: function() {} }; + self.scope.dashboardViewState = new DashboardViewStateStub(); $rootScope.colors = []; for (var i = 0; i < 50; i++) { $rootScope.colors.push('#' + i); } @@ -55,6 +55,11 @@ define([ }; } + function DashboardViewStateStub() { + this.registerPanel = function() { + }; + } + function FilterSrvStub() { this.time = { from:'now-1h', to: 'now'}; this.timeRange = function(parse) { diff --git a/src/test/test-main.js b/src/test/test-main.js index 4f30ef7910e..c7aa212d1cc 100644 --- a/src/test/test-main.js +++ b/src/test/test-main.js @@ -124,6 +124,7 @@ require([ 'specs/filterSrv-specs', 'specs/kbn-format-specs', 'specs/dashboardSrv-specs', + 'specs/dashboardViewStateSrv-specs', 'specs/influxSeries-specs' ], function () { window.__karma__.start();