diff --git a/services/loopback/common/validations/specs/validateDni.spec.js b/services/loopback/common/validations/specs/validateDni.spec.js index 432e64006..e61ab23c8 100644 --- a/services/loopback/common/validations/specs/validateDni.spec.js +++ b/services/loopback/common/validations/specs/validateDni.spec.js @@ -1,39 +1,39 @@ const validateDni = require('../validateDni'); describe('DNI validation', () => { - it('should return false for invented DNI', () => { + it('should return true for any DNI when no country is passed', () => { let isValid = validateDni('Pepinillos'); - expect(isValid).toBeFalsy(); + expect(isValid).toBeTruthy(); }); describe('Spanish', () => { it('should return true for valid spanish DNI', () => { - let isValid = validateDni('20849756A'); + let isValid = validateDni('20849756A', 'es'); expect(isValid).toBeTruthy(); }); it('should return false for spanish DNI with exceeded digits', () => { - let isValid = validateDni('208497563239A'); + let isValid = validateDni('208497563239A', 'es'); expect(isValid).toBeFalsy(); }); it('should return false for spanish DNI with invalid letter', () => { - let isValid = validateDni('20243746E'); + let isValid = validateDni('20243746E', 'es'); expect(isValid).toBeFalsy(); }); it('should return true for valid spanish CIF', () => { - let isValid = validateDni('B97367486'); + let isValid = validateDni('B97367486', 'es'); expect(isValid).toBeTruthy(); }); it('should return false for spanish CIF with invalid letter', () => { - let isValid = validateDni('A97527786'); + let isValid = validateDni('A97527786', 'es'); expect(isValid).toBeFalsy(); }); diff --git a/services/loopback/common/validations/validateDni.js b/services/loopback/common/validations/validateDni.js index 33c8760dc..b169b6100 100644 --- a/services/loopback/common/validations/validateDni.js +++ b/services/loopback/common/validations/validateDni.js @@ -1,9 +1,11 @@ module.exports = function(fi, country) { - if (fi == null) return true; - if (typeof fi != 'string') return false; + if (fi == null || country == null) + return true; + if (typeof fi != 'string' || typeof country != 'string') + return false; fi = fi.toUpperCase(); - country = country ? country.toLowerCase() : 'es'; + country = country.toLowerCase(); let len = fi.length; diff --git a/services/loopback/common/validations/validateIban.js b/services/loopback/common/validations/validateIban.js index 76fffef5e..2e8883642 100644 --- a/services/loopback/common/validations/validateIban.js +++ b/services/loopback/common/validations/validateIban.js @@ -4,7 +4,7 @@ module.exports = function(iban) { iban = iban.toUpperCase(); iban = trim(iban); - iban = iban.replace(/\s/g, ""); + iban = iban.replace(/\s/g, ''); if (iban.length != 24) { return false; @@ -33,7 +33,7 @@ module.exports = function(iban) { function module97(iban) { var parts = Math.ceil(iban.length / 7); - var remainer = ""; + var remainer = ''; for (var i = 1; i <= parts; i++) { remainer = String(parseFloat(remainer + iban.substr((i - 1) * 7, 7)) % 97); @@ -48,6 +48,6 @@ module.exports = function(iban) { } function trim(text) { - return (text || "").replace(/^(\s|\u00A0)+|(\s|\u00A0)+$/g, "" ); + return (text || '').replace(/^(\s|\u00A0)+|(\s|\u00A0)+$/g, ''); } };