Skip to content

Commit

Permalink
Refactors
Browse files Browse the repository at this point in the history
  • Loading branch information
gustavochavarria committed Nov 26, 2019
1 parent 4d61834 commit 432c64e
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 15 deletions.
12 changes: 8 additions & 4 deletions __tests__/index.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
import test from 'ava';

import dnic, {dnicWithDateValidation} from '../src';
import dnic, {validate, validateDate} from '../src';

const VALID_DNI = '001-280592-0025N';
const INVALID_DATE = '001-310292-0000N';

test('should pass a valid dni (default)', t => {
t.true(dnic.isValid(VALID_DNI));
});

test('should pass a valid dni', t => {
t.true(dnic(VALID_DNI));
t.true(validate(VALID_DNI));
});

test('valid dni (date)', t => {
t.true(dnicWithDateValidation(VALID_DNI));
t.true(validateDate(VALID_DNI));
});

test('valid a wrong date', t => {
t.false(dnicWithDateValidation(INVALID_DATE));
t.false(validateDate(INVALID_DATE));
});
35 changes: 25 additions & 10 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
import {municipalities} from './municipalities';
import {validateDate} from './utils';
import {isValidDate} from './utils';

const dnic = dni => {
/**
* Basic Dni Validation
*
* @param {*} dni
*/
export const validate = dni => {
if (!dni) {
return false;
}
Expand All @@ -11,14 +16,12 @@ const dnic = dni => {
return regex.test(dni);
};

export {dnic as default};

/**
*
* Dni Validation with date validation
* @param {*} dni
*/
export const dnicWithDateValidation = dni => {
if (!dnic(dni)) {
export const validateDate = dni => {
if (!validate(dni)) {
return false;
}

Expand All @@ -27,15 +30,16 @@ export const dnicWithDateValidation = dni => {
const month = date.slice(2, 4);
const year = date.slice(4, 6);

return validateDate(day, month, year);
return isValidDate(day, month, year);
};

/**
* Get the regions from dni
*
* @param {*} dni
*/
export const getRegionFromDni = dni => {
if (!dnic(dni)) {
export const getMunicipalities = dni => {
if (!validate(dni)) {
return false;
}

Expand All @@ -44,3 +48,14 @@ export const getRegionFromDni = dni => {

return foundRegion[region];
};

/**
* Export default.
*/

const exportDefault = {
isValid: dni => validate(dni),
isValidDate: dni => validateDate(dni)
};

export {exportDefault as default};
2 changes: 1 addition & 1 deletion src/utils.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export const validateDate = (day, month, year) => {
export const isValidDate = (day, month, year) => {
const pDay = parseInt(day, 10);
const pMonth = parseInt(month, 10);
const pYear = parseInt(year, 10);
Expand Down

0 comments on commit 432c64e

Please sign in to comment.