import React from 'react'; import { render } from '@testing-library/react'; import { ExploreId } from '../../../types/explore'; import { RichHistoryContainer, Props } from './RichHistoryContainer'; import { Tabs } from './RichHistory'; jest.mock('../state/selectors', () => ({ getExploreDatasources: jest.fn() })); const setup = (propOverrides?: Partial) => { const props: Props = { width: 500, exploreId: ExploreId.left, activeDatasourceInstance: 'Test datasource', richHistory: [], firstTab: Tabs.RichHistory, deleteRichHistory: jest.fn(), loadRichHistory: jest.fn(), onClose: jest.fn(), }; Object.assign(props, propOverrides); return render(); }; describe('RichHistoryContainer', () => { it('should render component with correct width', () => { const { container } = setup(); expect(container.firstElementChild!.getAttribute('style')).toContain('width: 531.5px'); }); it('should render component with correct height', () => { const { container } = setup(); expect(container.firstElementChild!.getAttribute('style')).toContain('height: 400px'); }); it('should re-request rich history every time the component is mounted', () => { const loadRichHistory = jest.fn(); const { unmount } = setup({ loadRichHistory }); expect(loadRichHistory).toBeCalledTimes(1); unmount(); expect(loadRichHistory).toBeCalledTimes(1); setup({ loadRichHistory }); expect(loadRichHistory).toBeCalledTimes(2); }); });