apphouse
Version:
Component library for React that uses observable state management and theme-able components.
19 lines (16 loc) • 890 B
text/typescript
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
});
});