mirror of
https://github.com/grafana/grafana.git
synced 2024-11-30 04:34:23 -06:00
74 lines
1.7 KiB
JavaScript
74 lines
1.7 KiB
JavaScript
define([
|
|
'helpers',
|
|
'features/panel/soloPanelCtrl',
|
|
'features/dashboard/dashboardSrv',
|
|
], function(helpers) {
|
|
'use strict';
|
|
|
|
describe('SoloPanelCtrl', function() {
|
|
var ctx = new helpers.ControllerTestContext();
|
|
var backendSrv = {};
|
|
var routeParams = {};
|
|
var search = {};
|
|
var contextSrv = {
|
|
hasRole: sinon.stub().returns(true)
|
|
};
|
|
|
|
beforeEach(module('grafana.routes'));
|
|
beforeEach(module('grafana.services'));
|
|
beforeEach(ctx.providePhase({
|
|
$routeParams: routeParams,
|
|
contextSrv: contextSrv,
|
|
$location: {
|
|
search: function() {
|
|
return search;
|
|
}
|
|
},
|
|
templateValuesSrv: { init: sinon.stub() },
|
|
backendSrv: backendSrv
|
|
}));
|
|
|
|
beforeEach(ctx.createControllerPhase('SoloPanelCtrl'));
|
|
|
|
describe('setting up solo panel scope', function() {
|
|
|
|
beforeEach(function() {
|
|
var dashboard = {
|
|
dashboard: {
|
|
rows: [
|
|
{
|
|
panels: [
|
|
{
|
|
id: 23,
|
|
some: 'prop'
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
meta: {}
|
|
};
|
|
|
|
routeParams.slug = "my dash";
|
|
search.panelId = 23;
|
|
backendSrv.getDashboard = sinon.stub().returns(ctx.$q.when(dashboard));
|
|
|
|
ctx.scope.init();
|
|
ctx.scope.$digest();
|
|
});
|
|
|
|
it('should load dashboard and extract panel and setup panel scope', function() {
|
|
expect(ctx.scope.panel.id).to.be(23);
|
|
expect(ctx.scope.panel.some).to.be('prop');
|
|
});
|
|
|
|
it('should hide sidemenu', function() {
|
|
expect(contextSrv.sidemenu).to.be(false);
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|