UNPKG

qgenutils

Version:

A security-first Node.js utility library providing authentication, HTTP operations, URL processing, validation, datetime formatting, and template rendering. Designed as a lightweight alternative to heavy npm packages with comprehensive error handling and

30 lines (26 loc) 1.41 kB
const validateEmail = require('./validateEmail'); describe('validateEmail', () => { test('should validate correct email formats', () => { expect(validateEmail('user@example.com')).toBe(''); expect(validateEmail('test.email@domain.co.uk')).toBe(''); expect(validateEmail('user+tag@subdomain.example.org')).toBe(''); expect(validateEmail('simple@test.io')).toBe(''); }); test('should reject invalid email formats', () => { expect(validateEmail('invalid-email')).toBe('Please enter a valid email address'); expect(validateEmail('user@')).toBe('Please enter a valid email address'); expect(validateEmail('@domain.com')).toBe('Please enter a valid email address'); expect(validateEmail('user@domain')).toBe('Please enter a valid email address'); expect(validateEmail('user.domain.com')).toBe('Please enter a valid email address'); }); test('should handle empty or invalid input types', () => { expect(validateEmail('')).toBe('Email address is required'); expect(validateEmail(' ')).toBe('Email address is required'); expect(validateEmail(null)).toBe('Email address is required'); expect(validateEmail(undefined)).toBe('Email address is required'); expect(validateEmail(123)).toBe('Email address is required'); }); test('should sanitize input before validation', () => { expect(validateEmail(' user@example.com ')).toBe(''); }); });