|
|
@@ -7,7 +7,6 @@ define([
|
|
|
var model;
|
|
|
|
|
|
beforeEach(module('grafana.services'));
|
|
|
-
|
|
|
beforeEach(inject(function(dashboardSrv) {
|
|
|
model = dashboardSrv.create({});
|
|
|
}));
|
|
|
@@ -24,12 +23,71 @@ define([
|
|
|
|
|
|
});
|
|
|
|
|
|
+ describe('when getting next panel id', function() {
|
|
|
+ var model;
|
|
|
+
|
|
|
+ beforeEach(module('grafana.services'));
|
|
|
+ beforeEach(inject(function(dashboardSrv) {
|
|
|
+ model = dashboardSrv.create({
|
|
|
+ rows: [{ panels: [{ id: 5 }]}]
|
|
|
+ });
|
|
|
+ }));
|
|
|
+
|
|
|
+ it('should return max id + 1', function() {
|
|
|
+ expect(model.getNextPanelId()).to.be(6);
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ describe('row and panel manipulation', function() {
|
|
|
+ var dashboard;
|
|
|
+
|
|
|
+ beforeEach(module('grafana.services'));
|
|
|
+ beforeEach(inject(function(dashboardSrv) {
|
|
|
+ dashboard = dashboardSrv.create({});
|
|
|
+ }));
|
|
|
+
|
|
|
+ it('row span should sum spans', function() {
|
|
|
+ var spanLeft = dashboard.rowSpan({ panels: [{ span: 2 }, { span: 3 }] });
|
|
|
+ expect(spanLeft).to.be(5);
|
|
|
+ });
|
|
|
+
|
|
|
+ it('adding default should split span in half', function() {
|
|
|
+ dashboard.rows = [{ panels: [{ span: 12, id: 7 }] }];
|
|
|
+ dashboard.add_panel({span: 4}, dashboard.rows[0]);
|
|
|
+
|
|
|
+ expect(dashboard.rows[0].panels[0].span).to.be(6);
|
|
|
+ expect(dashboard.rows[0].panels[1].span).to.be(6);
|
|
|
+ expect(dashboard.rows[0].panels[1].id).to.be(8);
|
|
|
+ });
|
|
|
+
|
|
|
+ it('duplicate panel should try to add it to same row', function() {
|
|
|
+ var panel = { span: 4, attr: '123', id: 10 };
|
|
|
+ dashboard.rows = [{ panels: [panel] }];
|
|
|
+ dashboard.duplicatePanel(panel, dashboard.rows[0]);
|
|
|
+
|
|
|
+ expect(dashboard.rows[0].panels[0].span).to.be(4);
|
|
|
+ expect(dashboard.rows[0].panels[1].span).to.be(4);
|
|
|
+ expect(dashboard.rows[0].panels[1].attr).to.be('123');
|
|
|
+ expect(dashboard.rows[0].panels[1].id).to.be(11);
|
|
|
+ });
|
|
|
+
|
|
|
+ it('duplicate should add row if there is no space left', function() {
|
|
|
+ var panel = { span: 12, attr: '123' };
|
|
|
+ dashboard.rows = [{ panels: [panel] }];
|
|
|
+ dashboard.duplicatePanel(panel, dashboard.rows[0]);
|
|
|
+
|
|
|
+ expect(dashboard.rows[0].panels[0].span).to.be(12);
|
|
|
+ expect(dashboard.rows[0].panels.length).to.be(1);
|
|
|
+ expect(dashboard.rows[1].panels[0].attr).to.be('123');
|
|
|
+ });
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
describe('when creating dashboard with old schema', function() {
|
|
|
var model;
|
|
|
var graph;
|
|
|
|
|
|
beforeEach(module('grafana.services'));
|
|
|
-
|
|
|
beforeEach(inject(function(dashboardSrv) {
|
|
|
model = dashboardSrv.create({
|
|
|
services: { filter: { time: { from: 'now-1d', to: 'now'}, list: [1] }},
|