import { render, screen } from '@testing-library/react'; import { ThemeProvider } from '../../theme'; import PaymentStateCard from './PaymentStateCard'; describe(' component', () => { it('renders the title and icon', () => { const { container } = render( , ); expect(screen.getByText('Payment failed')).toBeInTheDocument(); expect(container.querySelector('[data-icon="error"]')).toBeInTheDocument(); }); it('renders the body only when provided', () => { const { rerender } = render( , ); expect(screen.getByText('Hang tight')).toBeInTheDocument(); rerender( , ); expect(screen.queryByText('Hang tight')).not.toBeInTheDocument(); }); it('renders the actions slot', () => { render( , ); expect(screen.getByRole('button', { name: 'Continue' })).toBeInTheDocument(); }); });