From 71c38d85c76aea181b41634f2a79d603974640b4 Mon Sep 17 00:00:00 2001 From: Dzmitry Tamashevich Date: Fri, 1 Apr 2022 10:55:50 +0500 Subject: [PATCH] [Discover] improve unit tests --- .../sidebar/discover_field_search.test.tsx | 30 +++++++++++++++++-- .../sidebar/discover_field_search.tsx | 1 + .../discover_sidebar_responsive.test.tsx | 1 + 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/plugins/discover/public/application/main/components/sidebar/discover_field_search.test.tsx b/src/plugins/discover/public/application/main/components/sidebar/discover_field_search.test.tsx index 40474f3e4fc1db..454f8620d7b08a 100644 --- a/src/plugins/discover/public/application/main/components/sidebar/discover_field_search.test.tsx +++ b/src/plugins/discover/public/application/main/components/sidebar/discover_field_search.test.tsx @@ -13,17 +13,25 @@ import { findTestSubject } from '@elastic/eui/lib/test'; import { DiscoverFieldSearch, Props } from './discover_field_search'; import { EuiButtonGroupProps, EuiPopover } from '@elastic/eui'; import { ReactWrapper } from 'enzyme'; +import { KibanaContextProvider } from '../../../../../../kibana_react/public'; describe('DiscoverFieldSearch', () => { const defaultProps = { onChange: jest.fn(), value: 'test', types: ['any', 'string', '_source'], + presentFieldTypes: ['string', 'date', 'boolean', 'number'], }; function mountComponent(props?: Props) { const compProps = props || defaultProps; - return mountWithIntl(); + return mountWithIntl( + + + + ); } function findButtonGroup(component: ReactWrapper, id: string) { @@ -131,9 +139,25 @@ describe('DiscoverFieldSearch', () => { const btn = findTestSubject(component, 'toggleFieldFilterButton'); btn.simulate('click'); let popover = component.find(EuiPopover); - expect(popover.prop('isOpen')).toBe(true); + expect(popover.get(0).props.isOpen).toBe(true); btn.simulate('click'); popover = component.find(EuiPopover); - expect(popover.prop('isOpen')).toBe(false); + expect(popover.get(0).props.isOpen).toBe(false); + }); + + test('click help button should open popover with types of field docs', () => { + const component = mountComponent(); + + const btn = findTestSubject(component, 'fieldTypesHelpButton'); + btn.simulate('click'); + let popover = component.find(EuiPopover); + expect(popover.get(1).props.isOpen).toBe(true); + + const rows = component.find('.euiTableRow'); + expect(rows.length).toBe(4); + + btn.simulate('click'); + popover = component.find(EuiPopover); + expect(popover.get(1).props.isOpen).toBe(false); }); }); diff --git a/src/plugins/discover/public/application/main/components/sidebar/discover_field_search.tsx b/src/plugins/discover/public/application/main/components/sidebar/discover_field_search.tsx index 86f6ce43bb4a0b..9c7e6339369250 100644 --- a/src/plugins/discover/public/application/main/components/sidebar/discover_field_search.tsx +++ b/src/plugins/discover/public/application/main/components/sidebar/discover_field_search.tsx @@ -320,6 +320,7 @@ export function DiscoverFieldSearch({ onChange, value, types, presentFieldTypes diff --git a/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx b/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx index ef8fcd145c9081..2adb1e5607a3b1 100644 --- a/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx +++ b/src/plugins/discover/public/application/main/components/sidebar/discover_sidebar_responsive.test.tsx @@ -51,6 +51,7 @@ const mockServices = { } }, }, + docLinks: { links: { discover: { fieldTypeHelp: '' } } }, } as unknown as DiscoverServices; const mockfieldCounts: Record = {};