Commit 7b5a9cef by Giordano Ricci Committed by GitHub

Chore: Fix intermittent time-related test failure in explore datasource instance update (#30109)

* Chore: Ensure base time is the same when calculating default time range

* Chore: Fix intermittent test failure due to timing
parent 1c808be0
......@@ -43,9 +43,11 @@ export type TimeFragment = string | DateTime;
export const TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss';
export function getDefaultTimeRange(): TimeRange {
const now = dateTime();
return {
from: dateTime().subtract(6, 'hour'),
to: dateTime(),
from: dateTime(now).subtract(6, 'hour'),
to: now,
raw: { from: 'now-6h', to: 'now' },
};
}
......@@ -22,7 +22,13 @@ describe('Datasource reducer', () => {
queries,
queryKeys,
} as unknown) as ExploreItemState;
const expectedState: any = {
const result = datasourceReducer(
initialState,
updateDatasourceInstanceAction({ exploreId: ExploreId.left, datasourceInstance, history: [] })
);
const expectedState: Partial<ExploreItemState> = {
datasourceInstance,
queries,
queryKeys,
......@@ -31,13 +37,14 @@ describe('Datasource reducer', () => {
tableResult: null,
latency: 0,
loading: false,
queryResponse: createEmptyQueryResponse(),
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,
},
};
const result = datasourceReducer(
initialState,
updateDatasourceInstanceAction({ exploreId: ExploreId.left, datasourceInstance, history: [] })
);
expect(result).toMatchObject(expectedState);
});
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment