mini refactor on validateDni back end unit test

This commit is contained in:
Carlos Jimenez 2018-02-28 10:02:57 +01:00
parent 50fb035dd9
commit 884f7fe954
1 changed files with 80 additions and 65 deletions

View File

@ -1,86 +1,101 @@
const validateDni = require('../validateDni'); const validateDni = require('../validateDni');
describe('DNI validation', () => { describe('DNI validation', () => {
it('should return false for invented DNI', async () => { it('should return false for invented DNI', () => {
let isValid = validateDni('Pepinillos'); let isValid = validateDni('Pepinillos');
expect(isValid).toBeFalsy(); expect(isValid).toBeFalsy();
}); });
// Spanish describe('Spanish', () => {
it('should return true for valid spanish DNI', () => {
let isValid = validateDni('20849756A');
it('should return true for valid spanish DNI', async () => { expect(isValid).toBeTruthy();
let isValid = validateDni('20849756A'); });
expect(isValid).toBeTruthy();
it('should return true for spanish DNI with exceeded digits', () => {
let isValid = validateDni('208497563239A');
expect(isValid).toBeFalsy();
});
it('should return false for spanish DNI with invalid letter', () => {
let isValid = validateDni('20243746E');
expect(isValid).toBeFalsy();
});
it('should return true for valid spanish CIF', () => {
let isValid = validateDni('B97367486');
expect(isValid).toBeTruthy();
});
it('should return false for spanish CIF with invalid letter', () => {
let isValid = validateDni('A97527786');
expect(isValid).toBeFalsy();
});
}); });
it('should return true for spanish DNI with exceeded digits', async () => { describe('French', () => {
let isValid = validateDni('208497563239A'); it('should return true for valid french DNI', () => {
expect(isValid).toBeFalsy(); let isValid = validateDni('FR1B123456789');
expect(isValid).toBeTruthy();
});
it('should return true for french DNI with exceeded digits', () => {
let isValid = validateDni('FR1B12345678910');
expect(isValid).toBeFalsy();
});
it('should return true for french DNI with bad syntax', () => {
let isValid = validateDni('FR1B12345678A');
expect(isValid).toBeFalsy();
});
}); });
it('should return false for spanish DNI with invalid letter', async () => { describe('Italian', () => {
let isValid = validateDni('20243746E'); it('should return true for valid italian DNI', () => {
expect(isValid).toBeFalsy(); let isValid = validateDni('IT12345678911');
expect(isValid).toBeTruthy();
});
it('should return true for italian DNI with exceeded digits', () => {
let isValid = validateDni('IT123456789112');
expect(isValid).toBeFalsy();
});
it('should return true for italian DNI with bad syntax', () => {
let isValid = validateDni('IT1234567891A');
expect(isValid).toBeFalsy();
});
}); });
it('should return true for valid spanish CIF', async () => { describe('Portuguese', () => {
let isValid = validateDni('B97367486'); it('should return true for valid portuguese DNI', () => {
expect(isValid).toBeTruthy(); let isValid = validateDni('PT123456789');
});
it('should return false for spanish CIF with invalid letter', async () => { expect(isValid).toBeTruthy();
let isValid = validateDni('A97527786'); });
expect(isValid).toBeFalsy();
});
// French it('should return true for portuguese DNI with exceeded digits', () => {
let isValid = validateDni('PT12345678910');
it('should return true for valid french DNI', async () => { expect(isValid).toBeFalsy();
let isValid = validateDni('FR1B123456789'); });
expect(isValid).toBeTruthy();
});
it('should return true for french DNI with exceeded digits', async () => { it('should return true for portuguese DNI with bad syntax', () => {
let isValid = validateDni('FR1B12345678910'); let isValid = validateDni('PT12345678A');
expect(isValid).toBeFalsy();
});
it('should return true for french DNI with bad syntax', async () => { expect(isValid).toBeFalsy();
let isValid = validateDni('FR1B12345678A'); });
expect(isValid).toBeFalsy();
});
// Italian
it('should return true for valid italian DNI', async () => {
let isValid = validateDni('IT12345678911');
expect(isValid).toBeTruthy();
});
it('should return true for italian DNI with exceeded digits', async () => {
let isValid = validateDni('IT123456789112');
expect(isValid).toBeFalsy();
});
it('should return true for italian DNI with bad syntax', async () => {
let isValid = validateDni('IT1234567891A');
expect(isValid).toBeFalsy();
});
// Portuguese
it('should return true for valid portuguese DNI', async () => {
let isValid = validateDni('PT123456789');
expect(isValid).toBeTruthy();
});
it('should return true for portuguese DNI with exceeded digits', async () => {
let isValid = validateDni('PT12345678910');
expect(isValid).toBeFalsy();
});
it('should return true for portuguese DNI with bad syntax', async () => {
let isValid = validateDni('PT12345678A');
expect(isValid).toBeFalsy();
}); });
}); });