2018-02-27 19:28:07 +00:00
|
|
|
const validateDni = require('../validateDni');
|
|
|
|
|
2018-02-27 19:28:59 +00:00
|
|
|
describe('DNI validation', () => {
|
2018-02-28 09:02:57 +00:00
|
|
|
it('should return false for invented DNI', () => {
|
2018-02-27 19:28:07 +00:00
|
|
|
let isValid = validateDni('Pepinillos');
|
2018-02-28 09:02:57 +00:00
|
|
|
|
2018-02-27 19:28:07 +00:00
|
|
|
expect(isValid).toBeFalsy();
|
|
|
|
});
|
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
describe('Spanish', () => {
|
|
|
|
it('should return true for valid spanish DNI', () => {
|
|
|
|
let isValid = validateDni('20849756A');
|
2018-02-27 19:28:07 +00:00
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
expect(isValid).toBeTruthy();
|
|
|
|
});
|
2018-02-27 19:28:07 +00:00
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
it('should return true for spanish DNI with exceeded digits', () => {
|
|
|
|
let isValid = validateDni('208497563239A');
|
2018-02-27 19:28:07 +00:00
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
expect(isValid).toBeFalsy();
|
|
|
|
});
|
2018-02-27 19:28:07 +00:00
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
it('should return false for spanish DNI with invalid letter', () => {
|
|
|
|
let isValid = validateDni('20243746E');
|
2018-02-27 19:28:07 +00:00
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
expect(isValid).toBeFalsy();
|
|
|
|
});
|
2018-02-27 19:28:07 +00:00
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
it('should return true for valid spanish CIF', () => {
|
|
|
|
let isValid = validateDni('B97367486');
|
2018-02-27 19:28:07 +00:00
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
expect(isValid).toBeTruthy();
|
|
|
|
});
|
2018-02-27 19:28:07 +00:00
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
it('should return false for spanish CIF with invalid letter', () => {
|
|
|
|
let isValid = validateDni('A97527786');
|
2018-02-27 19:28:07 +00:00
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
expect(isValid).toBeFalsy();
|
|
|
|
});
|
2018-02-27 19:28:07 +00:00
|
|
|
});
|
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
describe('French', () => {
|
|
|
|
it('should return true for valid french DNI', () => {
|
|
|
|
let isValid = validateDni('FR1B123456789');
|
2018-02-27 19:28:07 +00:00
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
expect(isValid).toBeTruthy();
|
|
|
|
});
|
2018-02-27 19:28:07 +00:00
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
it('should return true for french DNI with exceeded digits', () => {
|
|
|
|
let isValid = validateDni('FR1B12345678910');
|
2018-02-27 19:28:07 +00:00
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
expect(isValid).toBeFalsy();
|
|
|
|
});
|
2018-02-27 19:28:07 +00:00
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
it('should return true for french DNI with bad syntax', () => {
|
|
|
|
let isValid = validateDni('FR1B12345678A');
|
2018-02-27 19:28:07 +00:00
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
expect(isValid).toBeFalsy();
|
|
|
|
});
|
2018-02-27 19:28:07 +00:00
|
|
|
});
|
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
describe('Italian', () => {
|
|
|
|
it('should return true for valid italian DNI', () => {
|
|
|
|
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();
|
|
|
|
});
|
2018-02-27 19:28:07 +00:00
|
|
|
});
|
|
|
|
|
2018-02-28 09:02:57 +00:00
|
|
|
describe('Portuguese', () => {
|
|
|
|
it('should return true for valid portuguese DNI', () => {
|
|
|
|
let isValid = validateDni('PT123456789');
|
|
|
|
|
|
|
|
expect(isValid).toBeTruthy();
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should return true for portuguese DNI with exceeded digits', () => {
|
|
|
|
let isValid = validateDni('PT12345678910');
|
|
|
|
|
|
|
|
expect(isValid).toBeFalsy();
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should return true for portuguese DNI with bad syntax', () => {
|
|
|
|
let isValid = validateDni('PT12345678A');
|
|
|
|
|
|
|
|
expect(isValid).toBeFalsy();
|
|
|
|
});
|
2018-02-27 19:28:07 +00:00
|
|
|
});
|
|
|
|
});
|