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.