diff --git a/__tests__/pesel.spec.ts b/__tests__/pesel.spec.ts index 7243f80..0516e58 100644 --- a/__tests__/pesel.spec.ts +++ b/__tests__/pesel.spec.ts @@ -10,6 +10,7 @@ describe('pesel', () => { ;[...validMales, ...validFemales].forEach((peselNumber) => { it(`using ${peselNumber}`, () => { const pesel = new PESEL(peselNumber) + expect(pesel.isValid).toEqual(true) }) }) @@ -19,6 +20,7 @@ describe('pesel', () => { ;[...invalidMales, ...invalidFemales].forEach((peselNumber) => { it(`using ${peselNumber}`, () => { const pesel = new PESEL(peselNumber) + expect(pesel.isValid).toEqual(false) }) }) @@ -28,6 +30,7 @@ describe('pesel', () => { validMales.forEach((peselNumber) => { it(`using valid ${peselNumber}`, () => { const pesel = new PESEL(peselNumber) + expect(pesel.getGender()).toEqual('male') }) }) @@ -35,6 +38,7 @@ describe('pesel', () => { invalidMales.forEach((peselNumber) => { it(`using invalid ${peselNumber}`, () => { const pesel = new PESEL(peselNumber) + expect(pesel.getGender()).toEqual('male') }) }) @@ -44,12 +48,14 @@ describe('pesel', () => { validFemales.forEach((peselNumber) => { it(`using valid ${peselNumber}`, () => { const pesel = new PESEL(peselNumber) + expect(pesel.getGender()).toEqual('female') }) }) invalidFemales.forEach((peselNumber) => { it(`using valid ${peselNumber}`, () => { const pesel = new PESEL(peselNumber) + expect(pesel.getGender()).toEqual('female') }) }) diff --git a/src/nip/index.ts b/src/nip/index.ts index 60a5cd7..dcb7d3f 100644 --- a/src/nip/index.ts +++ b/src/nip/index.ts @@ -1,5 +1,6 @@ export class NIP { private readonly valid: boolean + private readonly nip: string constructor(nip: string) { @@ -23,10 +24,7 @@ export class NIP { const weights = [6, 5, 7, 2, 3, 4, 5, 6, 7] const digits = `${this.nip}`.split('').map((digit) => +digit) const lastDigit = digits.splice(-1)[0] - const control = weights.reduce( - (previous, current, index) => previous + current * digits[index], - 0 - ) + const control = weights.reduce((previous, current, index) => previous + current * digits[index], 0) return control % 11 === lastDigit } diff --git a/src/pesel/index.ts b/src/pesel/index.ts index 07aa445..dade092 100644 --- a/src/pesel/index.ts +++ b/src/pesel/index.ts @@ -62,9 +62,7 @@ export class PESEL { const weights = [1, 3, 7, 9] const digits = `${this.pesel}`.split('').map((digit) => +digit) const lastDigit = digits.splice(-1)[0] - const control = - digits.reduce((previous, current, index) => previous + current * weights[index % 4]) % - 10 + const control = digits.reduce((previous, current, index) => previous + current * weights[index % 4]) % 10 return 10 - (control === 0 ? 10 : control) === lastDigit }