import { render, screen, waitFor } from '@testing-library/react';
import { it, describe, expect } from "vitest"
import userEvent from '@testing-library/user-event';
import { HoverCard } from '.';
import { Button } from '../Button';
import { Avatar } from '../Avatar';
import { CalendarDays } from 'lucide-react';
describe('HoverCard Component', () => {
it('renders HoverDefault story and displays content on hover', async () => {
const component = render(
Cartão Elo - O cartão do Brasileiro.
);
const triggerButton = screen.getByText('@Cartão Elo');
expect(triggerButton).toBeInTheDocument();
await userEvent.hover(triggerButton);
const content = await screen.findByText('Cartão Elo - O cartão do Brasileiro.');
expect(content).toBeInTheDocument();
expect(component.baseElement).toMatchSnapshot();
});
it('renders HoverCardExample story and displays content with avatar on hover', async () => {
const component = render(
Elo
Cartão Elo
O cartão do Brasileiro.
Fundada em 2011
);
const triggerButton = screen.getByText('@Cartão Elo');
expect(triggerButton).toBeInTheDocument();
userEvent.hover(triggerButton);
await waitFor(() => {
const avatarFallback = screen.getByTestId('avatar');
expect(avatarFallback).toBeInTheDocument();
const content = screen.getByText('Cartão Elo');
expect(content).toBeInTheDocument();
const subContent = screen.getByText('O cartão do Brasileiro.');
expect(subContent).toBeInTheDocument();
const calendarText = screen.getByText('Fundada em 2011');
expect(calendarText).toBeInTheDocument();
expect(component.baseElement).toMatchSnapshot();
});
});
});