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(); }); }); });