/usr/share/grafana/public/app/features/explore/state
import { DataSourceApi } from '@grafana/data'; import { DataQuery } from '@grafana/schema'; import { ExploreItemState } from 'app/types/explore'; import { updateDatasourceInstanceAction, datasourceReducer } from './datasource'; import { createEmptyQueryResponse } from './utils'; describe('Datasource reducer', () => { it('should handle set updateDatasourceInstanceAction correctly', () => { const StartPage = {}; const datasourceInstance = { meta: { metrics: true, logs: true, }, components: { QueryEditorHelp: StartPage, }, } as DataSourceApi; const queries: DataQuery[] = []; const queryKeys: string[] = []; const initialState: ExploreItemState = { datasourceInstance: null, queries, queryKeys, } as unknown as ExploreItemState; const result = datasourceReducer( initialState, updateDatasourceInstanceAction({ exploreId: 'left', datasourceInstance, history: [] }) ); const expectedState: Partial<ExploreItemState> = { datasourceInstance, queries, queryKeys, graphResult: null, logsResult: null, tableResult: null, queryResponse: { // When creating an empty query response we also create a timeRange object with the current time. // Copying the range from the reducer here prevents intermittent failures when creating them at different times. ...createEmptyQueryResponse(), timeRange: result.queryResponse.timeRange, }, }; expect(result).toMatchObject(expectedState); }); });
.
Edit
..
Edit
constants.ts
Edit
correlations.ts
Edit
datasource.test.ts
Edit
datasource.ts
Edit
explorePane.ts
Edit
history.ts
Edit
main.test.ts
Edit
main.ts
Edit
query.test.ts
Edit
query.ts
Edit
selectors.test.ts
Edit
selectors.ts
Edit
testHelpers.ts
Edit
time.test.ts
Edit
time.ts
Edit
utils.test.ts
Edit
utils.ts
Edit