import { shallow } from 'enzyme'; import React from 'react'; import { toUtc } from '@grafana/data'; import { LokiDatasource } from '../datasource'; import { LokiQuery } from '../types'; import { LokiQueryEditor } from './LokiQueryEditor'; const createMockRequestRange = (from: string, to: string) => { return { from: toUtc(from, 'YYYY-MM-DD'), to: toUtc(to, 'YYYY-MM-DD'), }; }; const setup = (propOverrides?: object) => { const datasourceMock: unknown = {}; const datasource: LokiDatasource = datasourceMock as LokiDatasource; const onRunQuery = jest.fn(); const onChange = jest.fn(); const query: LokiQuery = { expr: '', refId: 'A', legendFormat: 'My Legend', }; const range = createMockRequestRange('2020-01-01', '2020-01-02'); const props: any = { datasource, onChange, onRunQuery, query, range, }; Object.assign(props, propOverrides); const wrapper = shallow(); const instance = wrapper.instance(); return { instance, wrapper, }; }; describe('Render LokiQueryEditor with legend', () => { it('should render', () => { const { wrapper } = setup(); expect(wrapper).toMatchSnapshot(); }); it('should update timerange', () => { const { wrapper } = setup(); wrapper.setProps({ range: createMockRequestRange('2019-01-01', '2020-01-02'), }); expect(wrapper).toMatchSnapshot(); }); });