123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- import { toUtc, AbsoluteTimeRange } from '@grafana/data';
- import { getShiftedTimeRange, getZoomedTimeRange } from './timePicker';
- export const setup = (options?: any) => {
- const defaultOptions = {
- range: {
- from: toUtc('2019-01-01 10:00:00'),
- to: toUtc('2019-01-01 16:00:00'),
- raw: {
- from: 'now-6h',
- to: 'now',
- },
- },
- direction: 0,
- };
- return { ...defaultOptions, ...options };
- };
- describe('getShiftedTimeRange', () => {
- describe('when called with a direction of -1', () => {
- it('then it should return correct result', () => {
- const { range, direction } = setup({ direction: -1 });
- const expectedRange: AbsoluteTimeRange = {
- from: toUtc('2019-01-01 07:00:00').valueOf(),
- to: toUtc('2019-01-01 13:00:00').valueOf(),
- };
- const result = getShiftedTimeRange(direction, range);
- expect(result).toEqual(expectedRange);
- });
- });
- describe('when called with a direction of 1', () => {
- it('then it should return correct result', () => {
- const { range, direction } = setup({ direction: 1 });
- const expectedRange: AbsoluteTimeRange = {
- from: toUtc('2019-01-01 13:00:00').valueOf(),
- to: toUtc('2019-01-01 19:00:00').valueOf(),
- };
- const result = getShiftedTimeRange(direction, range);
- expect(result).toEqual(expectedRange);
- });
- });
- describe('when called with any other direction', () => {
- it('then it should return correct result', () => {
- const { range, direction } = setup({ direction: 0 });
- const expectedRange: AbsoluteTimeRange = {
- from: toUtc('2019-01-01 10:00:00').valueOf(),
- to: toUtc('2019-01-01 16:00:00').valueOf(),
- };
- const result = getShiftedTimeRange(direction, range);
- expect(result).toEqual(expectedRange);
- });
- });
- });
- describe('getZoomedTimeRange', () => {
- describe('when called', () => {
- it('then it should return correct result', () => {
- const { range } = setup();
- const expectedRange: AbsoluteTimeRange = {
- from: toUtc('2019-01-01 07:00:00').valueOf(),
- to: toUtc('2019-01-01 19:00:00').valueOf(),
- };
- const result = getZoomedTimeRange(range, 2);
- expect(result).toEqual(expectedRange);
- });
- });
- describe('when called with a timespan of 0', () => {
- it('then it should return a timespan of 30s', () => {
- const range = {
- from: toUtc('2019-01-01 10:00:00'),
- to: toUtc('2019-01-01 10:00:00'),
- raw: {
- from: 'now',
- to: 'now',
- },
- };
- const expectedRange: AbsoluteTimeRange = {
- from: toUtc('2019-01-01 09:59:45').valueOf(),
- to: toUtc('2019-01-01 10:00:15').valueOf(),
- };
- const result = getZoomedTimeRange(range, 2);
- expect(result).toEqual(expectedRange);
- });
- });
- });
|