UNPKG

stdnum

Version:
95 lines (68 loc) 2.54 kB
import { validate, format } from './nino'; import { InvalidLength, InvalidFormat } from '../exceptions'; describe('gb/nino', () => { it('format:HH 012345 D', () => { const result = format('HH 012345 D'); expect(result).toEqual('HH012345D'); }); it('validate:HH012345D', () => { // A valid number with a suffix const result = validate('HH012345D'); expect(result.isValid && result.compact).toEqual('HH012345D'); }); it('validate:TJ012345D', () => { // A valid number with a suffix const result = validate('TJ012345D'); expect(result.isValid && result.compact).toEqual('TJ012345D'); }); it('validate:hh012345d', () => { // A valid number with lowercase letters const result = validate('hh012345d'); expect(result.isValid && result.compact).toEqual('HH012345D'); }); it('validate:HH012345', () => { // A valid number without a suffix const result = validate('HH012345'); expect(result.isValid && result.compact).toEqual('HH012345'); }); it('validate:HH01234', () => { // Invalid length, too short const result = validate('HH01234'); expect(result.error).toBeInstanceOf(InvalidLength); }); it('validate:HH0123456D', () => { // Invalid length, too long const result = validate('HH0123456D'); expect(result.error).toBeInstanceOf(InvalidLength); }); it('validate:00012345D', () => { // Invalid numeric prefix, valid numbers, suffix const result = validate('00012345D'); expect(result.error).toBeInstanceOf(InvalidFormat); }); it('validate:XO012345D', () => { // Invalid letter, valid numbers, suffix const result = validate('XO012345D'); expect(result.error).toBeInstanceOf(InvalidFormat); }); it('validate:XO012345', () => { // Invalid letter, valid numbers, without suffix const result = validate('XO012345'); expect(result.error).toBeInstanceOf(InvalidFormat); }); it('validate:HH01A345D', () => { // Valid prefix, invalid numeric section, with suffix const result = validate('HH01A345D'); expect(result.error).toBeInstanceOf(InvalidFormat); }); it('validate:HH012345E', () => { // Valid prefix, valid numeric section, invalid suffix const result = validate('HH012345E'); expect(result.error).toBeInstanceOf(InvalidFormat); }); it('validate:TO012345D', () => { // Invalid prefix, valid numeric section, valid suffix const result = validate('TO012345D'); expect(result.error).toBeInstanceOf(InvalidFormat); }); });