Commit c3fdc1a0 by Dominik Prokop

Panel time override tests

parent bc78c8d5
......@@ -64,6 +64,7 @@
"html-webpack-plugin": "^3.2.0",
"husky": "^0.14.3",
"jest": "^23.6.0",
"jest-date-mock": "^1.0.6",
"lint-staged": "^6.0.0",
"load-grunt-tasks": "3.5.2",
"mini-css-extract-plugin": "^0.4.0",
......
import moment from 'moment';
import { TimeRange } from '@grafana/ui';
import { applyPanelTimeOverrides } from 'app/features/dashboard/utils/panel';
import { advanceTo, clear } from 'jest-date-mock';
const dashboardTimeRange: TimeRange = {
from: moment([2019, 1, 11, 12, 0]),
to: moment([2019, 1, 11, 18, 0]),
raw: {
from: 'now-6h',
to: 'now',
},
};
describe('applyPanelTimeOverrides', () => {
const fakeCurrentDate = moment([2019, 1, 11, 14, 0, 0]).toDate();
beforeAll(() => {
advanceTo(fakeCurrentDate);
});
afterAll(() => {
clear();
});
it('should apply relative time override', () => {
const panelModel = {
timeFrom: '2h',
};
// @ts-ignore: PanelModel type incositency
const overrides = applyPanelTimeOverrides(panelModel, dashboardTimeRange);
expect(overrides.timeRange.from.toISOString()).toBe(moment([2019, 1, 11, 12]).toISOString());
expect(overrides.timeRange.to.toISOString()).toBe(fakeCurrentDate.toISOString());
});
it('should apply time shift', () => {
const panelModel = {
timeShift: '2h'
};
const expectedFromDate = moment([2019, 1, 11, 10, 0, 0]).toDate();
const expectedToDate = moment([2019, 1, 11, 16, 0, 0]).toDate();
// @ts-ignore: PanelModel type incositency
const overrides = applyPanelTimeOverrides(panelModel, dashboardTimeRange);
expect(overrides.timeRange.from.toISOString()).toBe(expectedFromDate.toISOString());
expect(overrides.timeRange.to.toISOString()).toBe(expectedToDate.toISOString());
});
it('should apply both relative time and time shift', () => {
const panelModel = {
timeFrom: '2h',
timeShift: '2h'
};
const expectedFromDate = moment([2019, 1, 11, 10, 0, 0]).toDate();
const expectedToDate = moment([2019, 1, 11, 12, 0, 0]).toDate();
// @ts-ignore: PanelModel type incositency
const overrides = applyPanelTimeOverrides(panelModel, dashboardTimeRange);
expect(overrides.timeRange.from.toISOString()).toBe(expectedFromDate.toISOString());
expect(overrides.timeRange.to.toISOString()).toBe(expectedToDate.toISOString());
});
});
......@@ -8153,6 +8153,11 @@ jest-config@^23.6.0:
micromatch "^2.3.11"
pretty-format "^23.6.0"
jest-date-mock@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/jest-date-mock/-/jest-date-mock-1.0.6.tgz#7ea405d1fa68f86bb727d12e47b9c5e6760066a6"
integrity sha512-wnLgDaK3i2md/cQ1wKx/+/78PieO4nkGen8avEmHd4dt1NGGxeuW8/oLAF5qsatQBXdn08pxpqRtUoDvTTLdRg==
jest-diff@^23.6.0:
version "23.6.0"
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.6.0.tgz#1500f3f16e850bb3d71233408089be099f610c7d"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment