UNPKG

s10

Version:

Generate and verify the check digit for the UPU S10 postal tracking codes.

32 lines (25 loc) 1.19 kB
const S10 = require('./index'); describe('Generate check digits', () => { it('must calculate check digit correctly', () => { expect(S10.calculateCheckDigit('00071758')).toBe(1); expect(S10.calculateCheckDigit(71758)).toBe(1); expect(S10.calculateCheckDigit('96633102')).toBe(0); expect(S10.calculateCheckDigit(96633102)).toBe(0); expect(S10.calculateCheckDigit('76129403')).toBe(8); expect(S10.calculateCheckDigit(76129403)).toBe(8); }); }); describe('Validate tracking numbers', () => { it('must recognize invalid format of tracking numbers', () => { expect(S10.trackingNumberIsValid()).toBe(false); expect(S10.trackingNumberIsValid('')).toBe(false); expect(S10.trackingNumberIsValid(0)).toBe(false); expect(S10.trackingNumberIsValid('1847176155123')).toBe(false); expect(S10.trackingNumberIsValid('RA184717615H1')).toBe(false); }); it('must recognize invalid check digit', () => { expect(S10.trackingNumberIsValid('EB000717595HK')).toBe(true); expect(S10.trackingNumberIsValid('EB000717594HK')).toBe(false); expect(S10.trackingNumberIsValid('EB000717535HK')).toBe(false); }); });