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