12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import {ProjectFixture} from 'sentry-fixture/project';
- import {render} from 'sentry-test/reactTestingLibrary';
- import IntervalSelector from 'sentry/components/charts/intervalSelector';
- import EventView from 'sentry/utils/discover/eventView';
- import {DisplayModes} from 'sentry/utils/discover/types';
- describe('IntervalSelector', function () {
- const project = ProjectFixture();
- const eventView = EventView.fromSavedQuery({
- id: '',
- name: 'test query',
- version: 2,
- fields: ['transaction', 'count()'],
- projects: [parseInt(project.id, 10)],
- });
- it('resets small interval', function () {
- let interval: string | undefined = '1s';
- eventView.interval = interval;
- eventView.statsPeriod = '90d';
- const intervalSelector = (
- <IntervalSelector
- eventView={eventView}
- displayMode={DisplayModes.DEFAULT}
- onIntervalChange={newInterval => {
- interval = newInterval;
- }}
- />
- );
- render(intervalSelector);
- expect(interval).toEqual('4h');
- });
- it('resets large interval', function () {
- eventView.interval = '1h';
- eventView.statsPeriod = '1h';
- const intervalSelector = (
- <IntervalSelector
- eventView={eventView}
- displayMode={DisplayModes.DEFAULT}
- onIntervalChange={newInterval => (eventView.interval = newInterval)}
- />
- );
- render(intervalSelector);
- expect(eventView.interval).toEqual('1m');
- });
- it('leaves default interval alone', function () {
- eventView.interval = undefined;
- eventView.statsPeriod = '90d';
- let interval = 'not called';
- const intervalSelector = (
- <IntervalSelector
- eventView={eventView}
- displayMode={DisplayModes.DEFAULT}
- onIntervalChange={_newInterval => (interval = 'called')}
- />
- );
- render(intervalSelector);
- expect(interval).toEqual('not called');
- });
- });
|