From 67cd496daa93537a37ab1ddafbcc163d4c64c44e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yulia=20=C4=8Cech?= <6585477+yuliacech@users.noreply.github.com> Date: Wed, 9 Feb 2022 17:17:30 +0100 Subject: [PATCH] [IM] Removed undefined data stream link (#124847) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../home/indices_tab.helpers.ts | 8 ++++++ .../home/indices_tab.test.ts | 25 +++++++++++++++++-- .../index_list/index_table/index_table.js | 2 +- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.helpers.ts b/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.helpers.ts index 719758e18525..7daa3cc9e222 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.helpers.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/home/indices_tab.helpers.ts @@ -33,6 +33,7 @@ export interface IndicesTestBed extends TestBed { getIncludeHiddenIndicesToggleStatus: () => boolean; clickIncludeHiddenIndicesToggle: () => void; clickDataStreamAt: (index: number) => void; + dataStreamLinkExistsAt: (index: number) => boolean; clickManageContextMenuButton: () => void; clickContextMenuOption: (optionDataTestSubject: string) => void; clickModalConfirm: () => void; @@ -103,6 +104,12 @@ export const setup = async (overridingDependencies: any = {}): Promise { + const { table } = testBed; + const { rows } = table.getMetaData('indexTable'); + return findTestSubject(rows[index].reactWrapper, 'dataStreamLink').exists(); + }; + const clickModalConfirm = async () => { const { find, component } = testBed; @@ -129,6 +136,7 @@ export const setup = async (overridingDependencies: any = {}): Promise', () => { name: 'data-stream-index', data_stream: 'dataStream1', }, + { + health: '', + status: '', + primary: '', + replica: '', + documents: '', + documents_deleted: '', + size: '', + primary_size: '', + name: 'no-data-stream-index', + data_stream: null, + }, ]); // The detail panel should still appear even if there are no data streams. @@ -125,14 +137,23 @@ describe('', () => { const { findDataStreamDetailPanel, findDataStreamDetailPanelTitle, - actions: { clickDataStreamAt }, + actions: { clickDataStreamAt, dataStreamLinkExistsAt }, } = testBed; + expect(dataStreamLinkExistsAt(0)).toBeTruthy(); await clickDataStreamAt(0); expect(findDataStreamDetailPanel().length).toBe(1); expect(findDataStreamDetailPanelTitle()).toBe('dataStream1'); }); + + test(`doesn't show data stream link if the index doesn't have a data stream`, () => { + const { + actions: { dataStreamLinkExistsAt }, + } = testBed; + + expect(dataStreamLinkExistsAt(1)).toBeFalsy(); + }); }); describe('index detail panel with % character in index name', () => { diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js b/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js index 63e4503180f2..70a7f4817819 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/index_table/index_table.js @@ -285,7 +285,7 @@ export class IndexTable extends Component { {renderBadges(index, filterChanged, appServices.extensionsService)} ); - } else if (fieldName === 'data_stream') { + } else if (fieldName === 'data_stream' && value) { return (