From 490fb816c8e225535da93566346d6a97897500d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Szab=C3=B3?= Date: Thu, 9 Mar 2023 22:29:00 +0100 Subject: [PATCH] Update tests and components after antd bump --- .../jaeger-ui/src/components/App/Page.test.js | 4 ++-- .../src/components/App/TopNav.test.js | 2 +- .../components/SearchTracePage/FileLoader.tsx | 2 +- .../TracePageHeader/AltViewOptions.test.js | 2 +- .../TracePageHeader/KeyboardShortcutsHelp.tsx | 1 - .../TracePage/TraceSpanView/index.test.js | 3 ++- .../ReferencesButton.test.js | 2 +- .../SpanDetail/KeyValuesTable.test.js | 2 +- .../common/DetailsCard/DetailTable.test.js | 18 +++++++++--------- .../common/DetailsCard/DetailTable.tsx | 4 ++-- .../components/common/ExternalLinks.test.js | 2 +- .../src/components/common/NameSelector.tsx | 15 ++++++++++----- 12 files changed, 31 insertions(+), 26 deletions(-) diff --git a/packages/jaeger-ui/src/components/App/Page.test.js b/packages/jaeger-ui/src/components/App/Page.test.js index 8fa4e5d4d0..8c9d396c2d 100644 --- a/packages/jaeger-ui/src/components/App/Page.test.js +++ b/packages/jaeger-ui/src/components/App/Page.test.js @@ -67,9 +67,9 @@ describe('', () => { trackPageView.mockReset(); props = { pathname: String(Math.random()), - search: 'embed=v0&hideGraph', + search: 'hideGraph', }; - wrapper = mount(); + wrapper = mount(); }); it('does not explode', () => { diff --git a/packages/jaeger-ui/src/components/App/TopNav.test.js b/packages/jaeger-ui/src/components/App/TopNav.test.js index cfe770afd0..a0533246be 100644 --- a/packages/jaeger-ui/src/components/App/TopNav.test.js +++ b/packages/jaeger-ui/src/components/App/TopNav.test.js @@ -130,7 +130,7 @@ describe('', () => { it('renders sub-menu links', () => { dropdownItems.slice(1, 2).forEach(itemConfig => { - const item = subMenu.find(`[href="${itemConfig.url}"]`); + const item = subMenu.dive().find(`[href="${itemConfig.url}"]`); expect(item.length).toBe(1); expect(item.prop('target')).toBe(itemConfig.anchorTarget || '_blank'); expect(item.text()).toBe(itemConfig.label); diff --git a/packages/jaeger-ui/src/components/SearchTracePage/FileLoader.tsx b/packages/jaeger-ui/src/components/SearchTracePage/FileLoader.tsx index 171118df79..073339853e 100644 --- a/packages/jaeger-ui/src/components/SearchTracePage/FileLoader.tsx +++ b/packages/jaeger-ui/src/components/SearchTracePage/FileLoader.tsx @@ -18,7 +18,7 @@ import { Upload, Icon } from 'antd'; const Dragger = Upload.Dragger; type FileLoaderProps = { - loadJsonTraces: (fileList: FileList) => void; + loadJsonTraces: (fileList: { file: File }) => void; }; export default function FileLoader(props: FileLoaderProps) { diff --git a/packages/jaeger-ui/src/components/TracePage/TracePageHeader/AltViewOptions.test.js b/packages/jaeger-ui/src/components/TracePage/TracePageHeader/AltViewOptions.test.js index 1c28c14b9a..d5d6336159 100644 --- a/packages/jaeger-ui/src/components/TracePage/TracePageHeader/AltViewOptions.test.js +++ b/packages/jaeger-ui/src/components/TracePage/TracePageHeader/AltViewOptions.test.js @@ -30,7 +30,7 @@ describe('AltViewOptions', () => { let wrapper; const getLink = text => { - const menu = shallow(wrapper.find(Dropdown).prop('overlay')); + const menu = shallow(wrapper.find(Dropdown).prop('overlay')).dive(); const links = menu.find(Link); for (let i = 0; i < links.length; i++) { const link = links.at(i); diff --git a/packages/jaeger-ui/src/components/TracePage/TracePageHeader/KeyboardShortcutsHelp.tsx b/packages/jaeger-ui/src/components/TracePage/TracePageHeader/KeyboardShortcutsHelp.tsx index c46532562a..d21b56e902 100644 --- a/packages/jaeger-ui/src/components/TracePage/TracePageHeader/KeyboardShortcutsHelp.tsx +++ b/packages/jaeger-ui/src/components/TracePage/TracePageHeader/KeyboardShortcutsHelp.tsx @@ -104,7 +104,6 @@ export default class KeyboardShortcutsHelp extends React.PureComponent', () => { }); it('does not explode', () => { + const st = wrapper.find('.span-view-table'); expect(wrapper).toBeDefined(); expect(wrapper.find('.title--TraceSpanView').length).toBe(1); - expect(wrapper.find('.span-view-table').length).toBe(2); + expect(wrapper.find('.span-view-table').length).toBe(3); expect(wrapper.find('table').length).toBe(1); expect(wrapper.find('colgroup').length).toBe(1); expect(wrapper.find('Pagination').length).toBe(2); diff --git a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.test.js b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.test.js index 2a4ed2b808..0dbd0c6fec 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.test.js +++ b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/ReferencesButton.test.js @@ -66,7 +66,7 @@ describe(ReferencesButton, () => { const wrapper = shallow(); const dropdown = wrapper.find(Dropdown); expect(dropdown.length).toBe(1); - const menuInstance = shallow(dropdown.first().props().overlay); + const menuInstance = shallow(dropdown.first().props().overlay).dive(); const submenuItems = menuInstance.find(Menu.Item); expect(submenuItems.length).toBe(3); submenuItems.forEach((submenuItem, i) => { diff --git a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanDetail/KeyValuesTable.test.js b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanDetail/KeyValuesTable.test.js index 01d632408f..1a4f86ff4c 100644 --- a/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanDetail/KeyValuesTable.test.js +++ b/packages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/SpanDetail/KeyValuesTable.test.js @@ -101,7 +101,7 @@ describe('', () => { : [], }); const dropdown = wrapper.find(Dropdown); - const menu = shallow(dropdown.prop('overlay')); + const menu = shallow(dropdown.prop('overlay')).dive(); const anchors = menu.find(LinkValue); expect(anchors).toHaveLength(2); const firstAnchor = anchors.first(); diff --git a/packages/jaeger-ui/src/components/common/DetailsCard/DetailTable.test.js b/packages/jaeger-ui/src/components/common/DetailsCard/DetailTable.test.js index 36b2071a8d..86d7a47e44 100644 --- a/packages/jaeger-ui/src/components/common/DetailsCard/DetailTable.test.js +++ b/packages/jaeger-ui/src/components/common/DetailsCard/DetailTable.test.js @@ -252,21 +252,21 @@ describe('DetailTable', () => { describe('_onCell', () => { const onCell = makeTestFn(_onCell); - it('returns null for undefined', () => { - expect(onCell(undefined)).toBe(null); + it('returns empty props for undefined', () => { + expect(onCell(undefined)).toEqual({}); }); - it('returns null for string', () => { - expect(onCell('test-string')).toBe(null); + it('returns empty props for string', () => { + expect(onCell('test-string')).toEqual({}); }); - it('returns null for array', () => { - expect(onCell([])).toBe(null); + it('returns empty props for array', () => { + expect(onCell([])).toEqual({}); }); - it('returns null for unstyled object', () => { - expect(onCell({})).toBe(null); - expect(onCell({ styling: {} })).toBe(null); + it('returns empty props for unstyled object', () => { + expect(onCell({})).toEqual({}); + expect(onCell({ styling: {} })).toEqual({}); }); it('returns styling for styled object', () => { diff --git a/packages/jaeger-ui/src/components/common/DetailsCard/DetailTable.tsx b/packages/jaeger-ui/src/components/common/DetailsCard/DetailTable.tsx index d33177a932..8bcdacbaa7 100644 --- a/packages/jaeger-ui/src/components/common/DetailsCard/DetailTable.tsx +++ b/packages/jaeger-ui/src/components/common/DetailsCard/DetailTable.tsx @@ -31,9 +31,9 @@ export const _makeFilterDropdown = // exported for tests export const _onCell = (dataIndex: string) => (row: TRow) => { const cellData = row[dataIndex]; - if (!cellData || typeof cellData !== 'object' || Array.isArray(cellData)) return null; + if (!cellData || typeof cellData !== 'object' || Array.isArray(cellData)) return {}; const { styling } = cellData; - if (_isEmpty(styling)) return null; + if (_isEmpty(styling)) return {}; return { style: styling, }; diff --git a/packages/jaeger-ui/src/components/common/ExternalLinks.test.js b/packages/jaeger-ui/src/components/common/ExternalLinks.test.js index 9a4ed9a4ce..279055b009 100644 --- a/packages/jaeger-ui/src/components/common/ExternalLinks.test.js +++ b/packages/jaeger-ui/src/components/common/ExternalLinks.test.js @@ -30,7 +30,7 @@ describe('', () => { const wrapper = shallow(); const dropdown = wrapper.find(Dropdown); expect(dropdown.length).toBe(1); - const linkValues = shallow(dropdown.first().props().overlay); + const linkValues = shallow(dropdown.first().props().overlay).dive(); const submenuItems = linkValues.find(Menu.Item); expect(submenuItems.length).toBe(links.length); submenuItems.forEach((subMenu, i) => { diff --git a/packages/jaeger-ui/src/components/common/NameSelector.tsx b/packages/jaeger-ui/src/components/common/NameSelector.tsx index 0bb7b2d81c..bdbaa36858 100644 --- a/packages/jaeger-ui/src/components/common/NameSelector.tsx +++ b/packages/jaeger-ui/src/components/common/NameSelector.tsx @@ -57,12 +57,17 @@ export default class NameSelector extends React.PureComponent { } private changeVisible(popoverVisible: boolean) { - if (popoverVisible) { - window.document.body.addEventListener('click', this.onBodyClicked); - } else { - window.document.body.removeEventListener('click', this.onBodyClicked); - } this.setState({ popoverVisible }); + + // Defer registering a click handler to hide the selector popover + // to avoid handling the click event that triggered opening the popover itself. + setTimeout(() => { + if (popoverVisible) { + window.document.body.addEventListener('click', this.onBodyClicked); + } else { + window.document.body.removeEventListener('click', this.onBodyClicked); + } + }); } private clearValue = (evt: React.MouseEvent) => {