diff --git a/lib/__tests__/curp.test.js b/lib/__tests__/curp.test.js index 180ae1e..47b8662 100644 --- a/lib/__tests__/curp.test.js +++ b/lib/__tests__/curp.test.js @@ -298,6 +298,17 @@ describe('curp', () => { expect(curp.generar(persona)).toBe('PEHE771120MVZRXD09'); }); + it('Deberia obtener el CURP correcto de la persona M CRISTINA QUIAHUA CALIHUA', () => { + const persona = curp.getPersona(); + persona.nombre = 'M CRISTINA'; + persona.apellidoPaterno = 'QUIAHUA'; + persona.apellidoMaterno = 'CALIHUA'; + persona.genero = curp.GENERO.FEMENINO; + persona.fechaNacimiento = '19-09-1981'; + persona.estado = curp.ESTADO.VERACRUZ; + expect(curp.generar(persona)).toBe('QUCC810919MVZHLR01'); + }); + function curpSinNombre() { const persona = curp.getPersona(); persona.apellidoPaterno = 'Sanchez'; diff --git a/lib/index.js b/lib/index.js index bbf5fa0..9df707f 100644 --- a/lib/index.js +++ b/lib/index.js @@ -55,6 +55,7 @@ const comunes = [ 'M. ', 'J. ', 'J ', + 'M ', ]; const malasPalabras = { @@ -150,7 +151,7 @@ class Persona { apellidoMaterno, genero, estado, - fechaNacimiento, + fechaNacimiento ) { this.nombre = nombre; this.apellidoPaterno = apellidoPaterno; @@ -171,16 +172,16 @@ function generar(persona) { const pad = zeropad.bind(null, 2); const nombre = ajustaCompuesto( - normalizaString(persona.nombre.toUpperCase()), + normalizaString(persona.nombre.toUpperCase()) ).trim(); const apellidoPaterno = ajustaCompuesto( - normalizaString(persona.apellidoPaterno.toUpperCase()), + normalizaString(persona.apellidoPaterno.toUpperCase()) ).trim(); let apellidoMaterno = persona.apellidoMaterno || ''; apellidoMaterno = ajustaCompuesto( - normalizaString(apellidoMaterno.toUpperCase()), + normalizaString(apellidoMaterno.toUpperCase()) ).trim(); const nombreUsar = obtenerNombreUsar(nombre); @@ -460,7 +461,7 @@ function obtenerNombreUsar(nombre) { if (nombres.length === 1) return nombres[0]; const esNombreComun = comunes.some( - (nombreComun) => nombre.indexOf(nombreComun) === 0, + (nombreComun) => nombre.indexOf(nombreComun) === 0 ); if (esNombreComun) return nombres[1];