stdnum
Version:
Standard Number Validation
159 lines (150 loc) • 2.73 kB
text/typescript
import { InvalidChecksum, InvalidLength } from '../exceptions';
import { validate, format } from './pib';
describe('me/pib', () => {
it('format:02000989', () => {
const result = format('02000989');
expect(result).toEqual('02000989');
});
test.each([
'02000989',
'02005115',
'02005328',
'02007479',
'02008599',
'02015099',
'02017105',
'02018560',
'02026325',
'02033143',
'02033356',
'02044188',
'02046954',
'02047403',
'02051664',
'02052822',
'02082390',
'02085020',
'02087723',
'02094754',
'02096064',
'02096099',
'02106183',
'02118912',
'02126265',
'02131013',
'02132419',
'02160102',
'02171058',
'02194007',
'02196727',
'02216078',
'02219603',
'02241102',
'02259974',
'02264811',
'02265435',
'02272296',
'02291266',
'02293099',
'02303213',
'02305054',
'02305623',
'02309084',
'02310783',
'02313987',
'02335450',
'02355388',
'02357950',
'02383136',
'02384337',
'02385040',
'02389231',
'02395673',
'02404281',
'02407515',
'02436159',
'02437643',
'02440768',
'02448076',
'02454190',
'02455455',
'02462494',
'02465787',
'02467593',
'02628988',
'02630419',
'02653753',
'02656515',
'02671930',
'02694638',
'02697904',
'02702967',
'02705001',
'02707942',
'02709392',
'02717557',
'02739500',
'02751372',
'02759519',
'02766515',
'02769336',
'02783746',
'02865971',
'02868474',
'02880474',
'02894998',
'02896753',
'02904870',
'02908433',
'02952165',
'02959801',
'02983303',
'03016480',
'03022480',
'03037002',
'03099873',
'03183246',
'03313468',
'03328139',
'03350479',
'03350487',
'03350495',
'03350509',
'03350517',
'03350525',
'03350533',
'03350541',
'03350550',
'03350568',
'03350576',
'03350584',
'03350592',
'03350606',
'03350614',
'03350622',
'03350665',
'03350673',
'03350681',
'03350690',
'03350703',
'03350789',
'03351483',
'03352480',
'03353486',
'03354482',
'03355489',
'03356485',
'03357481',
])('validate:%s', value => {
const result = validate(value);
expect(result.isValid).toEqual(true);
});
it('validate:0335348', () => {
const result = validate('0335348');
expect(result.error).toBeInstanceOf(InvalidLength);
});
it('validate:03353487', () => {
const result = validate('03353487');
expect(result.error).toBeInstanceOf(InvalidChecksum);
});
});