Merge pull request #12692 from dehrax/12224-graph-ctrl

Karma to Jest: graph_ctrl
This commit is contained in:
Marcus Efraimsson
2018-07-23 15:53:41 +02:00
committed by GitHub
2 changed files with 94 additions and 78 deletions

View File

@@ -0,0 +1,94 @@
import moment from 'moment';
import { GraphCtrl } from '../module';
jest.mock('../graph', () => ({}));
describe('GraphCtrl', () => {
let injector = {
get: () => {
return {
timeRange: () => {
return {
from: '',
to: '',
};
},
};
},
};
let scope = {
$on: () => {},
};
GraphCtrl.prototype.panel = {
events: {
on: () => {},
},
gridPos: {
w: 100,
},
};
let ctx = <any>{};
beforeEach(() => {
ctx.ctrl = new GraphCtrl(scope, injector, {});
ctx.ctrl.annotationsPromise = Promise.resolve({});
ctx.ctrl.updateTimeRange();
});
describe('when time series are outside range', () => {
beforeEach(() => {
var data = [
{
target: 'test.cpu1',
datapoints: [[45, 1234567890], [60, 1234567899]],
},
];
ctx.ctrl.range = { from: moment().valueOf(), to: moment().valueOf() };
ctx.ctrl.onDataReceived(data);
});
it('should set datapointsOutside', () => {
expect(ctx.ctrl.dataWarning.title).toBe('Data points outside time range');
});
});
describe('when time series are inside range', () => {
beforeEach(() => {
var range = {
from: moment()
.subtract(1, 'days')
.valueOf(),
to: moment().valueOf(),
};
var data = [
{
target: 'test.cpu1',
datapoints: [[45, range.from + 1000], [60, range.from + 10000]],
},
];
ctx.ctrl.range = range;
ctx.ctrl.onDataReceived(data);
});
it('should set datapointsOutside', () => {
expect(ctx.ctrl.dataWarning).toBe(null);
});
});
describe('datapointsCount given 2 series', () => {
beforeEach(() => {
var data = [{ target: 'test.cpu1', datapoints: [] }, { target: 'test.cpu2', datapoints: [] }];
ctx.ctrl.onDataReceived(data);
});
it('should set datapointsCount warning', () => {
expect(ctx.ctrl.dataWarning.title).toBe('No data points');
});
});
});

View File

@@ -1,78 +0,0 @@
import { describe, beforeEach, it, expect, angularMocks } from '../../../../../test/lib/common';
import moment from 'moment';
import { GraphCtrl } from '../module';
import helpers from '../../../../../test/specs/helpers';
describe('GraphCtrl', function() {
var ctx = new helpers.ControllerTestContext();
beforeEach(angularMocks.module('grafana.services'));
beforeEach(angularMocks.module('grafana.controllers'));
beforeEach(
angularMocks.module(function($compileProvider) {
$compileProvider.preAssignBindingsEnabled(true);
})
);
beforeEach(ctx.providePhase());
beforeEach(ctx.createPanelController(GraphCtrl));
beforeEach(() => {
ctx.ctrl.annotationsPromise = Promise.resolve({});
ctx.ctrl.updateTimeRange();
});
describe('when time series are outside range', function() {
beforeEach(function() {
var data = [
{
target: 'test.cpu1',
datapoints: [[45, 1234567890], [60, 1234567899]],
},
];
ctx.ctrl.range = { from: moment().valueOf(), to: moment().valueOf() };
ctx.ctrl.onDataReceived(data);
});
it('should set datapointsOutside', function() {
expect(ctx.ctrl.dataWarning.title).to.be('Data points outside time range');
});
});
describe('when time series are inside range', function() {
beforeEach(function() {
var range = {
from: moment()
.subtract(1, 'days')
.valueOf(),
to: moment().valueOf(),
};
var data = [
{
target: 'test.cpu1',
datapoints: [[45, range.from + 1000], [60, range.from + 10000]],
},
];
ctx.ctrl.range = range;
ctx.ctrl.onDataReceived(data);
});
it('should set datapointsOutside', function() {
expect(ctx.ctrl.dataWarning).to.be(null);
});
});
describe('datapointsCount given 2 series', function() {
beforeEach(function() {
var data = [{ target: 'test.cpu1', datapoints: [] }, { target: 'test.cpu2', datapoints: [] }];
ctx.ctrl.onDataReceived(data);
});
it('should set datapointsCount warning', function() {
expect(ctx.ctrl.dataWarning.title).to.be('No data points');
});
});
});