diff options
Diffstat (limited to 'src/components/molecules/tooltip/tooltip.test.tsx')
| -rw-r--r-- | src/components/molecules/tooltip/tooltip.test.tsx | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/components/molecules/tooltip/tooltip.test.tsx b/src/components/molecules/tooltip/tooltip.test.tsx new file mode 100644 index 0000000..af2c7e4 --- /dev/null +++ b/src/components/molecules/tooltip/tooltip.test.tsx @@ -0,0 +1,39 @@ +import { render, screen } from '../../../../tests/utils'; +import { Tooltip } from './tooltip'; + +const title = 'A custom title'; +const children = + 'Labore ullam delectus sit modi quam dolores. Ratione id sint aliquid facilis ipsum. Unde necessitatibus provident minus.'; + +describe('Tooltip', () => { + it('renders a title and a body', () => { + render(<Tooltip heading={title}>{children}</Tooltip>); + + expect(screen.getByText(title)).toBeInTheDocument(); + expect(screen.getByText(children)).toBeInTheDocument(); + }); + + it('can render a hidden modal', () => { + render( + <Tooltip heading={title} isOpen={false}> + {children} + </Tooltip> + ); + + // Neither toBeVisible or toHaveStyle are working. + //expect(screen.getByText(children)).not.toBeVisible(); + //expect(screen.getByText(children)).toHaveStyle({ visibility: 'hidden' }); + expect(screen.getByText(children)).toHaveClass('tooltip--hidden'); + }); + + it('can render a visible modal', () => { + render( + <Tooltip heading={title} isOpen> + {children} + </Tooltip> + ); + + expect(screen.getByText(children)).toBeVisible(); + expect(screen.getByText(children)).toHaveStyle({ visibility: 'visible' }); + }); +}); |
