import { validateEmail } from './validateEmail';

describe('validateEmail', () => {
  it('returns true for valid email addresses', () => {
    expect(validateEmail('test@example.com')).toBe(true);
    expect(validateEmail('john.doe@example.co.uk')).toBe(true);
    expect(validateEmail('jane_doe12345@example123.co')).toBe(true);
  });

  it('returns false for invalid email addresses', () => {
    expect(validateEmail('')).toBe(false); // Empty string
    expect(validateEmail('test@example')).toBe(false); // Missing top-level domain
    expect(validateEmail('test.example.com')).toBe(false); // Invalid top-level domain
    expect(validateEmail('@example.com')).toBe(false); // Missing local-part
    expect(validateEmail('test@example..com')).toBe(false); // Consecutive periods in domain
    expect(validateEmail('test@ example.com')).toBe(false); // Space in email address
  });
});
