mirror of
https://github.com/elastic/kibana.git
synced 2025-06-28 03:01:21 -04:00
[IM] Removed undefined data stream link (#124847)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
parent
f2e9efe457
commit
67cd496daa
3 changed files with 32 additions and 3 deletions
|
@ -33,6 +33,7 @@ export interface IndicesTestBed extends TestBed<TestSubjects> {
|
||||||
getIncludeHiddenIndicesToggleStatus: () => boolean;
|
getIncludeHiddenIndicesToggleStatus: () => boolean;
|
||||||
clickIncludeHiddenIndicesToggle: () => void;
|
clickIncludeHiddenIndicesToggle: () => void;
|
||||||
clickDataStreamAt: (index: number) => void;
|
clickDataStreamAt: (index: number) => void;
|
||||||
|
dataStreamLinkExistsAt: (index: number) => boolean;
|
||||||
clickManageContextMenuButton: () => void;
|
clickManageContextMenuButton: () => void;
|
||||||
clickContextMenuOption: (optionDataTestSubject: string) => void;
|
clickContextMenuOption: (optionDataTestSubject: string) => void;
|
||||||
clickModalConfirm: () => void;
|
clickModalConfirm: () => void;
|
||||||
|
@ -103,6 +104,12 @@ export const setup = async (overridingDependencies: any = {}): Promise<IndicesTe
|
||||||
component.update();
|
component.update();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const dataStreamLinkExistsAt = (index: number) => {
|
||||||
|
const { table } = testBed;
|
||||||
|
const { rows } = table.getMetaData('indexTable');
|
||||||
|
return findTestSubject(rows[index].reactWrapper, 'dataStreamLink').exists();
|
||||||
|
};
|
||||||
|
|
||||||
const clickModalConfirm = async () => {
|
const clickModalConfirm = async () => {
|
||||||
const { find, component } = testBed;
|
const { find, component } = testBed;
|
||||||
|
|
||||||
|
@ -129,6 +136,7 @@ export const setup = async (overridingDependencies: any = {}): Promise<IndicesTe
|
||||||
getIncludeHiddenIndicesToggleStatus,
|
getIncludeHiddenIndicesToggleStatus,
|
||||||
clickIncludeHiddenIndicesToggle,
|
clickIncludeHiddenIndicesToggle,
|
||||||
clickDataStreamAt,
|
clickDataStreamAt,
|
||||||
|
dataStreamLinkExistsAt,
|
||||||
clickManageContextMenuButton,
|
clickManageContextMenuButton,
|
||||||
clickContextMenuOption,
|
clickContextMenuOption,
|
||||||
clickModalConfirm,
|
clickModalConfirm,
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
import { act } from 'react-dom/test-utils';
|
import { act } from 'react-dom/test-utils';
|
||||||
|
|
||||||
import { API_BASE_PATH } from '../../../common/constants';
|
import { API_BASE_PATH } from '../../../common';
|
||||||
import { setupEnvironment, nextTick } from '../helpers';
|
import { setupEnvironment, nextTick } from '../helpers';
|
||||||
import { IndicesTestBed, setup } from './indices_tab.helpers';
|
import { IndicesTestBed, setup } from './indices_tab.helpers';
|
||||||
import { createDataStreamPayload, createNonDataStreamIndex } from './data_streams_tab.helpers';
|
import { createDataStreamPayload, createNonDataStreamIndex } from './data_streams_tab.helpers';
|
||||||
|
@ -100,6 +100,18 @@ describe('<IndexManagementHome />', () => {
|
||||||
name: 'data-stream-index',
|
name: 'data-stream-index',
|
||||||
data_stream: 'dataStream1',
|
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.
|
// The detail panel should still appear even if there are no data streams.
|
||||||
|
@ -125,14 +137,23 @@ describe('<IndexManagementHome />', () => {
|
||||||
const {
|
const {
|
||||||
findDataStreamDetailPanel,
|
findDataStreamDetailPanel,
|
||||||
findDataStreamDetailPanelTitle,
|
findDataStreamDetailPanelTitle,
|
||||||
actions: { clickDataStreamAt },
|
actions: { clickDataStreamAt, dataStreamLinkExistsAt },
|
||||||
} = testBed;
|
} = testBed;
|
||||||
|
|
||||||
|
expect(dataStreamLinkExistsAt(0)).toBeTruthy();
|
||||||
await clickDataStreamAt(0);
|
await clickDataStreamAt(0);
|
||||||
|
|
||||||
expect(findDataStreamDetailPanel().length).toBe(1);
|
expect(findDataStreamDetailPanel().length).toBe(1);
|
||||||
expect(findDataStreamDetailPanelTitle()).toBe('dataStream1');
|
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', () => {
|
describe('index detail panel with % character in index name', () => {
|
||||||
|
|
|
@ -285,7 +285,7 @@ export class IndexTable extends Component {
|
||||||
{renderBadges(index, filterChanged, appServices.extensionsService)}
|
{renderBadges(index, filterChanged, appServices.extensionsService)}
|
||||||
</Fragment>
|
</Fragment>
|
||||||
);
|
);
|
||||||
} else if (fieldName === 'data_stream') {
|
} else if (fieldName === 'data_stream' && value) {
|
||||||
return (
|
return (
|
||||||
<EuiLink
|
<EuiLink
|
||||||
data-test-subj="dataStreamLink"
|
data-test-subj="dataStreamLink"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue