import { describe, it, expect } from 'vitest'; import { render, screen } from '@testing-library/react'; import { ProfileCreated } from './ProfileCreated'; describe('ProfileCreated', () => { it('renders email correctly', () => { render(); expect(screen.getByText('test@example.com')).toBeInTheDocument(); }); it('renders success message', () => { render(); expect(screen.getByText('Profile created successfully')).toBeInTheDocument(); }); it('displays first letter of email in uppercase', () => { render(); expect(screen.getByText('J')).toBeInTheDocument(); }); it('handles lowercase email correctly', () => { render(); expect(screen.getByText('A')).toBeInTheDocument(); }); it('handles uppercase email correctly', () => { render(); expect(screen.getByText('B')).toBeInTheDocument(); }); it('handles email starting with number', () => { render(); expect(screen.getByText('1')).toBeInTheDocument(); }); it('handles single character email', () => { render(); expect(screen.getByText('X')).toBeInTheDocument(); }); it('renders checkmark SVG', () => { const { container } = render(); const svg = container.querySelector('svg'); expect(svg).toBeInTheDocument(); expect(svg?.getAttribute('width')).toBe('16'); expect(svg?.getAttribute('height')).toBe('16'); }); it('has correct structure with all main elements', () => { const { container } = render(); // Check for avatar container const avatar = container.querySelector('.rounded-full.bg-gradient-to-br'); expect(avatar).toBeInTheDocument(); // Check for email text expect(screen.getByText('test@example.com')).toBeInTheDocument(); // Check for success text expect(screen.getByText('Profile created successfully')).toBeInTheDocument(); }); });