import { isValidEmail } from './isValidEmail';

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

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