From a40409b61bee07523b96bc26534a5229db57c2df Mon Sep 17 00:00:00 2001 From: Julia Rechkunova Date: Mon, 13 Nov 2023 17:11:52 +0100 Subject: [PATCH] [Discover] Update jest tests --- .../main/hooks/utils/change_data_view.test.ts | 2 +- .../main/utils/get_switch_data_view_app_state.test.ts | 11 +++++++++++ .../main/utils/get_switch_data_view_app_state.ts | 7 ++++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/plugins/discover/public/application/main/hooks/utils/change_data_view.test.ts b/src/plugins/discover/public/application/main/hooks/utils/change_data_view.test.ts index c4d49c310e65ba..a0266b65ed01df 100644 --- a/src/plugins/discover/public/application/main/hooks/utils/change_data_view.test.ts +++ b/src/plugins/discover/public/application/main/hooks/utils/change_data_view.test.ts @@ -35,7 +35,7 @@ describe('changeDataView', () => { await changeDataView(dataViewWithDefaultColumnMock.id!, params); expect(params.appState.update).toHaveBeenCalledWith({ columns: ['default_column'], // default_column would be added as dataViewWithDefaultColumn has it as a mapped field - index: 'data-view-with-various-field-types-and-default-column-id', + index: 'data-view-with-user-default-column-id', sort: [['@timestamp', 'desc']], }); }); diff --git a/src/plugins/discover/public/application/main/utils/get_switch_data_view_app_state.test.ts b/src/plugins/discover/public/application/main/utils/get_switch_data_view_app_state.test.ts index fdc989eec87eaf..e265a90ab291d7 100644 --- a/src/plugins/discover/public/application/main/utils/get_switch_data_view_app_state.test.ts +++ b/src/plugins/discover/public/application/main/utils/get_switch_data_view_app_state.test.ts @@ -41,6 +41,17 @@ const currentDataView = getDataView('curr', '', ['category', 'name']); const nextDataView = getDataView('next', '', ['category', 'user_default_column']); describe('Discover getDataViewAppState', () => { + test('removing fields that are not part of the next data view, keeping unknown fields ', async () => { + const result = getDataViewAppState( + currentDataView, + nextDataView, + emptyDefaultColumns, + ['category', 'name', 'unknown'], + [['category', 'desc']] + ); + expect(result.columns).toEqual(['category', 'unknown']); + expect(result.sort).toEqual([['category', 'desc']]); + }); test('removing fields that are not part of the next data view and adding default columns', async () => { const result = getDataViewAppState( currentDataView, diff --git a/src/plugins/discover/public/application/main/utils/get_switch_data_view_app_state.ts b/src/plugins/discover/public/application/main/utils/get_switch_data_view_app_state.ts index 2177fdad1ceabd..9597aa85374257 100644 --- a/src/plugins/discover/public/application/main/utils/get_switch_data_view_app_state.ts +++ b/src/plugins/discover/public/application/main/utils/get_switch_data_view_app_state.ts @@ -28,8 +28,13 @@ export function getDataViewAppState( let columns = currentColumns || []; if (modifyColumns) { + const currentUnknownColumns = columns.filter( + (column) => !currentDataView.fields.getByName(column) && !defaultColumns.includes(column) + ); const currentColumnsRefreshed = uniq([...columns, ...defaultColumns]); - columns = currentColumnsRefreshed.filter((column) => nextDataView.fields.getByName(column)); + columns = currentColumnsRefreshed.filter( + (column) => nextDataView.fields.getByName(column) || currentUnknownColumns.includes(column) + ); } if (query && isOfAggregateQueryType(query)) {