import { render, unmountComponentAtNode } from 'react-dom'; import { act } from 'react-dom/test-utils'; import MilvusGrid from '../../grid/index'; import { ToolBarConfig } from '../../grid/Types'; let container: any = null; jest.mock('react-i18next', () => { return { useTranslation: () => ({ t: () => ({ grid: {}, }), }), }; }); jest.mock('../../grid/Table', () => { return () => { return
{}
; }; }); jest.mock('../../grid/ToolBar', () => { return () => { return
; }; }); jest.mock('react-router-dom', () => { return { useHistory: () => { return { listen: () => () => {}, location: { name: '', }, }; }, }; }); describe('Test Grid index', () => { beforeEach(() => { container = document.createElement('div'); document.body.appendChild(container); }); afterEach(() => { unmountComponentAtNode(container); container.remove(); container = null; }); it('Has Table Data', () => { act(() => { render( , container ); }); expect(container.querySelectorAll('#table').length).toEqual(1); }); it('Test title', () => { const title = ['collections', 'vectors']; act(() => { render( , container ); }); const titleNodes = container.querySelectorAll('h6'); expect(titleNodes.length).toEqual(title.length); expect(titleNodes[0].textContent).toEqual(title[0]); expect(titleNodes[1].textContent).toEqual(title[1]); }); it('Test SearchForm', () => { const SearchForm = () =>
; act(() => { render( } />, container ); }); expect(container.querySelectorAll('#search-form').length).toEqual(1); }); it('Test Toolbar ', () => { const ToolbarConfig: ToolBarConfig[] = [ { label: 'collection', icon: 'search', onClick: () => {}, onSearch: () => {}, }, ]; act(() => { render( , container ); }); expect(container.querySelectorAll('#tool-bar').length).toEqual(1); }); });