import { composeStories } from '@storybook/testing-react';
import { fireEvent, render, screen, waitFor } from '@testing-library/react';
import 'jest-styled-components';
import React from 'react';
import * as stories from './Tooltip.stories';
const { Bottom, Top, Left, Right } = composeStories(stories);
const toolTipContainer = 'tooltip-container-test-id';
const toolTipChildren = 'tooltip-children-test-id';
test('Tooltip - Bottom', async () => {
render();
// should render widget
const container = screen.getByTestId(toolTipContainer);
expect(container).not.toBeNull();
// should show text on hover
fireEvent.mouseOver(screen.getByTestId(toolTipChildren));
const childrenContainer = await waitFor(() =>
screen.getByTestId(toolTipContainer),
);
expect(childrenContainer).toBeDefined();
});
test('Tooltip - Top', async () => {
render();
// should render widget
const container = screen.getByTestId(toolTipContainer);
expect(container).not.toBeNull();
// should show text on hover
fireEvent.mouseOver(screen.getByTestId(toolTipChildren));
const childrenContainer = await waitFor(() =>
screen.getByTestId(toolTipContainer),
);
expect(childrenContainer).toBeDefined();
});
test('Tooltip - Right', async () => {
render();
// should render widget
const container = screen.getByTestId(toolTipContainer);
expect(container).not.toBeNull();
// should show text on hover
fireEvent.mouseOver(screen.getByTestId(toolTipChildren));
const childrenContainer = await waitFor(() =>
screen.getByTestId(toolTipContainer),
);
expect(childrenContainer).toBeDefined();
});
test('Tooltip - Left', async () => {
render();
// should render widget
const container = screen.getByTestId(toolTipContainer);
expect(container).not.toBeNull();
// should show text on hover
fireEvent.mouseOver(screen.getByTestId(toolTipChildren));
const childrenContainer = await waitFor(() =>
screen.getByTestId(toolTipContainer),
);
expect(childrenContainer).toBeDefined();
});