mirror of
https://github.com/grafana/grafana.git
synced 2025-02-12 16:45:43 -06:00
* Scenes: Fix flaky scenes time range test * Update public/app/features/scenes/core/SceneTimeRange.test.tsx
37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
import { SceneTimeRange } from './SceneTimeRange';
|
|
|
|
describe('SceneTimeRange', () => {
|
|
it('when created should evaluate time range', () => {
|
|
const timeRange = new SceneTimeRange({ from: 'now-1h', to: 'now' });
|
|
expect(timeRange.state.value.raw.from).toBe('now-1h');
|
|
});
|
|
|
|
it('when time range refreshed should evaluate and update value', async () => {
|
|
const timeRange = new SceneTimeRange({ from: 'now-30s', to: 'now' });
|
|
const startTime = timeRange.state.value.from.valueOf();
|
|
await new Promise((r) => setTimeout(r, 2));
|
|
timeRange.onRefresh();
|
|
const diff = timeRange.state.value.from.valueOf() - startTime;
|
|
expect(diff).toBeGreaterThan(1);
|
|
});
|
|
|
|
it('toUrlValues with relative range', () => {
|
|
const timeRange = new SceneTimeRange({ from: 'now-1h', to: 'now' });
|
|
expect(timeRange.urlSync?.getUrlState(timeRange.state)).toEqual({
|
|
from: 'now-1h',
|
|
to: 'now',
|
|
});
|
|
});
|
|
|
|
it('updateFromUrl with ISO time', () => {
|
|
const timeRange = new SceneTimeRange({ from: 'now-1h', to: 'now' });
|
|
timeRange.urlSync?.updateFromUrl({
|
|
from: '2021-01-01T10:00:00.000Z',
|
|
to: '2021-02-03T01:20:00.000Z',
|
|
});
|
|
|
|
expect(timeRange.state.from).toEqual('2021-01-01T10:00:00.000Z');
|
|
expect(timeRange.state.value.from.valueOf()).toEqual(1609495200000);
|
|
});
|
|
});
|