import * as React from 'react'; import { render, screen } from '@testing-library/react'; import styles from '@patternfly/react-styles/css/components/OverflowMenu/overflow-menu'; import { OverflowMenu } from '../OverflowMenu'; import * as getResizeObserver from '../../../helpers/resizeObserver'; describe('OverflowMenu', () => { test('md', () => { render(); expect(screen.getByTestId('test-id')).toHaveClass(styles.overflowMenu); }); test('lg', () => { const { asFragment } = render(); expect(asFragment()).toMatchSnapshot(); }); test('xl', () => { const { asFragment } = render(); expect(asFragment()).toMatchSnapshot(); }); test('basic', () => { const { asFragment } = render(
BASIC
); expect(asFragment()).toMatchSnapshot(); }); test('should warn on bad props', () => { const myMock = jest.fn() as any; global.console = { error: myMock } as any; render(
BASIC
); expect(myMock).toHaveBeenCalled(); }); test('should call resizeObserver on undefined containerRefElement', () => { const resizeObserver = jest.spyOn(getResizeObserver, 'getResizeObserver'); render(); expect(resizeObserver).toHaveBeenCalledWith(undefined, expect.any(Function)); }); test('should call resizeObserver on selector ref containerRefElement', () => { const resizeObserver = jest.spyOn(getResizeObserver, 'getResizeObserver'); render(
document.getElementById('selector-ref-test')} breakpoint={'md'}>
Selector ref test
); const containerRef = screen.getByText('Selector ref test').parentElement?.parentElement; expect(resizeObserver).toHaveBeenCalledWith(containerRef, expect.any(Function)); }); test('should call resizeObserver on React ref containerRefElement', () => { const resizeObserver = jest.spyOn(getResizeObserver, 'getResizeObserver'); const containerRef = React.createRef(); render(
); expect(resizeObserver).toHaveBeenCalledWith(containerRef.current, expect.any(Function)); }); });