import * as React from 'react'; import { render } from '@testing-library/react'; import { Popover, PopoverPosition } from '../Popover'; test('popover renders close-button, header and body', () => { const { asFragment } = render( Popover Header} bodyContent={
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam id feugiat augue, nec fringilla turpis.
} >
Toggle Popover
); expect(asFragment()).toMatchSnapshot(); }); test('popover can have a custom minimum width', () => { const { asFragment } = render( Popover Header} bodyContent={
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam id feugiat augue, nec fringilla turpis.
} >
Toggle Popover
); expect(asFragment()).toMatchSnapshot(); }); test('popover can specify position as object value', () => { const { asFragment } = render( Popover Header} bodyContent={
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam id feugiat augue, nec fringilla turpis.
} >
Toggle Popover
); expect(asFragment()).toMatchSnapshot(); }); test('popover can close from content (uncontrolled)', () => { const { asFragment } = render( Popover header} bodyContent={hide => (
All the content props (headerContent, bodyContent, footerContent) can take a function which the Popover component passes the hide function to which can be used to close the Popover after some user interaction.
)} footerContent="Popover footer" >
); expect(asFragment()).toMatchSnapshot(); }); test('popover renders in strict mode', () => { const consoleError = jest.spyOn(console, 'error'); const { asFragment } = render( Popover Header} bodyContent={
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam id feugiat augue, nec fringilla turpis.
} >
Toggle Popover
); expect(consoleError).not.toHaveBeenCalled(); expect(asFragment()).toMatchSnapshot(); });