mirror of
https://github.com/elastic/kibana.git
synced 2025-06-27 18:51:07 -04:00
[ES|QL] Resets selected columns when changing query (#167492)
## Summary Fixes a bug in ES|QL mode where you: - have a query of index pattern 1 and select some fields - change the query by using a different index pattern - the selected columns do not reset **BUG**  **NOW**  ### Checklist - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios
This commit is contained in:
parent
98a81d1b5e
commit
d797846108
2 changed files with 33 additions and 1 deletions
|
@ -106,6 +106,7 @@ describe('useTextBasedQueryLanguage', () => {
|
|||
await waitFor(() => {
|
||||
expect(replaceUrlState).toHaveBeenCalledWith({
|
||||
index: 'the-data-view-id',
|
||||
columns: [],
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -123,6 +124,7 @@ describe('useTextBasedQueryLanguage', () => {
|
|||
expect(replaceUrlState).toHaveBeenCalledWith({
|
||||
index: 'the-data-view-id',
|
||||
viewMode: VIEW_MODE.DOCUMENT_LEVEL,
|
||||
columns: [],
|
||||
});
|
||||
});
|
||||
test('changing a text based query with different result columns should change state when loading and finished', async () => {
|
||||
|
@ -155,6 +157,35 @@ describe('useTextBasedQueryLanguage', () => {
|
|||
});
|
||||
});
|
||||
|
||||
test('changing a text based query with same result columns should change state when loading and finished', async () => {
|
||||
const { replaceUrlState, stateContainer } = renderHookWithContext(false);
|
||||
const documents$ = stateContainer.dataState.data$.documents$;
|
||||
stateContainer.dataState.data$.documents$.next(msgComplete);
|
||||
await waitFor(() => expect(replaceUrlState).toHaveBeenCalledTimes(1));
|
||||
replaceUrlState.mockReset();
|
||||
|
||||
documents$.next({
|
||||
recordRawType: RecordRawType.PLAIN,
|
||||
fetchStatus: FetchStatus.PARTIAL,
|
||||
result: [
|
||||
{
|
||||
id: '1',
|
||||
raw: { field1: 1 },
|
||||
flattened: { field1: 1 },
|
||||
} as unknown as DataTableRecord,
|
||||
],
|
||||
query: { esql: 'from the-data-view-2' },
|
||||
});
|
||||
await waitFor(() => expect(replaceUrlState).toHaveBeenCalledTimes(1));
|
||||
|
||||
await waitFor(() => {
|
||||
expect(replaceUrlState).toHaveBeenCalledWith({
|
||||
index: 'the-data-view-id',
|
||||
columns: [],
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
test('changing a text based query with no transformational commands should only change dataview state when loading and finished', async () => {
|
||||
const { replaceUrlState, stateContainer } = renderHookWithContext(false);
|
||||
const documents$ = stateContainer.dataState.data$.documents$;
|
||||
|
@ -180,6 +211,7 @@ describe('useTextBasedQueryLanguage', () => {
|
|||
await waitFor(() => {
|
||||
expect(replaceUrlState).toHaveBeenCalledWith({
|
||||
index: 'the-data-view-id',
|
||||
columns: [],
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -119,7 +119,7 @@ export function useTextBasedQueryLanguage({
|
|||
}
|
||||
const nextState = {
|
||||
...(addDataViewToState && { index: dataViewObj.id }),
|
||||
...(addColumnsToState && { columns: nextColumns }),
|
||||
...((addColumnsToState || queryChanged) && { columns: nextColumns }),
|
||||
...(viewMode === VIEW_MODE.AGGREGATED_LEVEL && {
|
||||
viewMode: getValidViewMode({ viewMode, isTextBasedQueryMode: true }),
|
||||
}),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue