test files

This commit is contained in:
estifanos
2026-08-20 07:32:23 +00:00
parent 481ff57ad1
commit a424be5f6c
2 changed files with 73 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
import { describe, expect, it } from 'vitest';
import { optionalPhoneNumber, phoneNumber } from './phone';
describe('phoneNumber', () => {
it('normalizes a legacy Ethiopian national number to E.164', () => {
expect(phoneNumber.parse('0911223344')).toBe('+251911223344');
});
it('passes an Ethiopian E.164 number through unchanged', () => {
expect(phoneNumber.parse('+251911223344')).toBe('+251911223344');
});
it('accepts a valid international number', () => {
expect(phoneNumber.parse('+14155552671')).toBe('+14155552671');
});
it('rejects a too-short number', () => {
expect(() => phoneNumber.parse('+251911')).toThrow();
});
it('rejects non-numeric input', () => {
expect(() => phoneNumber.parse('abc')).toThrow();
});
});
describe('optionalPhoneNumber', () => {
it('allows a blank value', () => {
expect(optionalPhoneNumber.parse('')).toBe('');
});
it('still validates a non-blank value', () => {
expect(() => optionalPhoneNumber.parse('abc')).toThrow();
});
});