UNPKG

nigeria-validator

Version:

Validate and format common Nigerian data: phone numbers, BVNs, bank codes, etc.

52 lines (45 loc) 1.52 kB
const { isValidPhone, formatPhone, isValidBVN, isValidNIN, isValidBankCode, getBankName, isValidState, getLGAs, isValidLGA, getNigerianNetwork } = require('./src'); test('Phone number validation works', () => { expect(isValidPhone('08034567890')).toBe(true); expect(isValidPhone('2348034567890')).toBe(true); expect(isValidPhone('07000000000')).toBe(false); }); test('Phone number formatting works', () => { expect(formatPhone('+2348034567890')).toBe('08034567890'); expect(formatPhone('08034567890', 'intl')).toBe('+2348034567890'); }); test('BVN validation works', () => { expect(isValidBVN('22345678901')).toBe(true); expect(isValidBVN('12345')).toBe(false); }); test('NIN validation works', () => { expect(isValidNIN('12345678901')).toBe(true); expect(isValidNIN('123')).toBe(false); }); test('Bank code validation and name lookup', () => { expect(isValidBankCode('058')).toBe(true); expect(getBankName('058')).toBe('GTBank'); expect(getBankName('000')).toBe('Unknown Bank'); }); test('State and LGA validation', () => { expect(isValidState('Abia')).toBe(true); expect(isValidLGA('Abia', 'Umuahia North')).toBe(true); expect(isValidLGA('Abia', 'Nonexistent')).toBe(false); expect(getLGAs('Abia')).toContain('Aba North'); }); test('Get Nigerian mobile network', () => { expect(getNigerianNetwork('08034567890')).toBe('MTN'); expect(getNigerianNetwork('09090000000')).toBe('9mobile'); expect(getNigerianNetwork('07000000000')).toBe('Unknown Network'); });