validation-br 0.8.3 → 1.0.0-b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +2 -0
- package/.eslintrc.js +76 -11
- package/.github/workflows/test.yml +39 -0
- package/.prettierignore +1 -0
- package/.prettierrc.js +7 -0
- package/dist/cnh.js +123 -0
- package/dist/cnh.js.map +1 -0
- package/dist/cnh.test.js +117 -0
- package/dist/cnh.test.js.map +1 -0
- package/dist/cnpj.js +112 -0
- package/dist/cnpj.js.map +1 -0
- package/dist/cnpj.test.js +141 -0
- package/dist/cnpj.test.js.map +1 -0
- package/dist/cpf.js +134 -0
- package/dist/cpf.js.map +1 -0
- package/dist/cpf.test.js +130 -0
- package/dist/cpf.test.js.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/index.test.js +33 -0
- package/dist/index.test.js.map +1 -0
- package/dist/judicialProcess.js +153 -0
- package/dist/judicialProcess.js.map +1 -0
- package/dist/judicialProcess.test.js +123 -0
- package/dist/judicialProcess.test.js.map +1 -0
- package/dist/pisPasep.js +113 -0
- package/dist/pisPasep.js.map +1 -0
- package/dist/pisPasep.test.js +129 -0
- package/dist/pisPasep.test.js.map +1 -0
- package/dist/postalCode.js +150 -0
- package/dist/postalCode.js.map +1 -0
- package/dist/postalCode.test.js +135 -0
- package/dist/postalCode.test.js.map +1 -0
- package/dist/renavam.js +108 -0
- package/dist/renavam.js.map +1 -0
- package/dist/renavam.test.js +113 -0
- package/dist/renavam.test.js.map +1 -0
- package/dist/tituloEleitor.js +130 -0
- package/dist/tituloEleitor.js.map +1 -0
- package/dist/tituloEleitor.test.js +132 -0
- package/dist/tituloEleitor.test.js.map +1 -0
- package/dist/utils-applyMask.test.js +17 -0
- package/dist/utils-applyMask.test.js.map +1 -0
- package/dist/utils-clearValue.test.js +50 -0
- package/dist/utils-clearValue.test.js.map +1 -0
- package/dist/utils-fakeNumber.test.js +17 -0
- package/dist/utils-fakeNumber.test.js.map +1 -0
- package/dist/utils-insertAtPosition.test.js +16 -0
- package/dist/utils-insertAtPosition.test.js.map +1 -0
- package/dist/utils-invalidListGenerator.test.js +23 -0
- package/dist/utils-invalidListGenerator.test.js.map +1 -0
- package/dist/utils-removeFromPosition.test.js +16 -0
- package/dist/utils-removeFromPosition.test.js.map +1 -0
- package/dist/utils-sumElementsByMultipliers.test.js +32 -0
- package/dist/utils-sumElementsByMultipliers.test.js.map +1 -0
- package/dist/utils-sumToDV.test.js +16 -0
- package/dist/utils-sumToDV.test.js.map +1 -0
- package/dist/utils.js +167 -0
- package/dist/utils.js.map +1 -0
- package/jest.config.js +14 -0
- package/package.json +40 -48
- package/readme.md +243 -88
- package/src/cnh.test.ts +114 -0
- package/src/cnh.ts +140 -0
- package/src/cnpj.test.ts +136 -0
- package/{dist/documents/cnpj.js → src/cnpj.ts} +74 -21
- package/src/cpf.test.ts +125 -0
- package/src/cpf.ts +150 -0
- package/src/index.test.ts +35 -0
- package/src/index.ts +19 -0
- package/src/judicialProcess.test.ts +118 -0
- package/src/judicialProcess.ts +167 -0
- package/src/pisPasep.test.ts +124 -0
- package/src/pisPasep.ts +128 -0
- package/src/postalCode.test.ts +132 -0
- package/src/postalCode.ts +164 -0
- package/src/renavam.test.ts +110 -0
- package/src/renavam.ts +122 -0
- package/src/tituloEleitor.test.ts +129 -0
- package/src/tituloEleitor.ts +146 -0
- package/src/utils-applyMask.test.ts +17 -0
- package/src/utils-clearValue.test.ts +55 -0
- package/src/utils-fakeNumber.test.ts +19 -0
- package/src/utils-insertAtPosition.test.ts +15 -0
- package/src/utils-invalidListGenerator.test.ts +27 -0
- package/src/utils-removeFromPosition.test.ts +15 -0
- package/src/utils-sumElementsByMultipliers.test.ts +34 -0
- package/src/utils-sumToDV.test.ts +16 -0
- package/src/utils.ts +172 -0
- package/tsconfig.json +23 -0
- package/.babelrc +0 -15
- package/.prettierrc +0 -9
- package/dist/documents/cnh.js +0 -77
- package/dist/documents/cnh.js.map +0 -1
- package/dist/documents/cnpj.js.map +0 -1
- package/dist/documents/cpf.js +0 -83
- package/dist/documents/cpf.js.map +0 -1
- package/dist/documents/index.js +0 -23
- package/dist/documents/index.js.map +0 -1
- package/dist/documents/pis-pasep.js +0 -71
- package/dist/documents/pis-pasep.js.map +0 -1
- package/dist/documents/postal-code.js +0 -72
- package/dist/documents/postal-code.js.map +0 -1
- package/dist/documents/titulo-eleitor.js +0 -74
- package/dist/documents/titulo-eleitor.js.map +0 -1
- package/dist/lib/utils.js +0 -60
- package/dist/lib/utils.js.map +0 -1
- package/docs.md +0 -0
- package/index.js +0 -3
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
const renavam_1 = __importStar(require("./renavam"));
|
|
23
|
+
describe('Renavam', () => {
|
|
24
|
+
test('isRenavam() - Números válidos', () => {
|
|
25
|
+
const list = [
|
|
26
|
+
// valores com máscara
|
|
27
|
+
'1952519770-3',
|
|
28
|
+
'3394038959-9',
|
|
29
|
+
// valores como inteiros
|
|
30
|
+
3607626105,
|
|
31
|
+
64090416160,
|
|
32
|
+
// valores como string sem máscara
|
|
33
|
+
'80499688374',
|
|
34
|
+
'40650543741',
|
|
35
|
+
];
|
|
36
|
+
list.forEach((renavam) => {
|
|
37
|
+
expect(renavam_1.default(renavam)).toBeTruthy();
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
test('validate() - Números válidos', () => {
|
|
41
|
+
const list = [
|
|
42
|
+
// valores com máscara
|
|
43
|
+
'1952519770-3',
|
|
44
|
+
'3394038959-9',
|
|
45
|
+
// valores como inteiros
|
|
46
|
+
3607626105,
|
|
47
|
+
64090416160,
|
|
48
|
+
// valores como string sem máscara
|
|
49
|
+
'80499688374',
|
|
50
|
+
'40650543741',
|
|
51
|
+
];
|
|
52
|
+
list.forEach((renavam) => {
|
|
53
|
+
expect(renavam_1.validate(renavam)).toBeTruthy();
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
test('validate() - Números inválidos', () => {
|
|
57
|
+
const list = ['19525227703', '33940229599', '03607226105', '64090226160', '80499228374'];
|
|
58
|
+
list.forEach((renavam) => {
|
|
59
|
+
expect(renavam_1.validate(renavam)).toBeFalsy();
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
test('validateOrFail() - Números inválidos', () => {
|
|
63
|
+
const list = ['19525227703', '33940229599', '03607226105', '64090226160', '80499228374'];
|
|
64
|
+
list.forEach((renavam) => {
|
|
65
|
+
expect(() => renavam_1.validateOrFail(renavam)).toThrow();
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
test('Parâmetro não informado', () => {
|
|
69
|
+
expect(renavam_1.default('')).toBeFalsy();
|
|
70
|
+
expect(renavam_1.validate('')).toBeFalsy();
|
|
71
|
+
expect(() => renavam_1.validateOrFail('')).toThrow();
|
|
72
|
+
expect(() => renavam_1.dv('')).toThrow();
|
|
73
|
+
});
|
|
74
|
+
test('fake() - Gera fakes sem máscara', () => {
|
|
75
|
+
for (let i = 0; i < 5; i += 1) {
|
|
76
|
+
const renavam = renavam_1.fake();
|
|
77
|
+
expect(renavam_1.validate(renavam)).toBeTruthy();
|
|
78
|
+
expect(renavam).toHaveLength(11);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
test('fake() - Gera fakes com máscara', () => {
|
|
82
|
+
for (let i = 0; i < 5; i += 1) {
|
|
83
|
+
const renavam = renavam_1.fake(true);
|
|
84
|
+
expect(renavam_1.validate(renavam)).toBeTruthy();
|
|
85
|
+
expect(renavam).toHaveLength(12);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
test('dv() - Verificando se o DV gerado está correto', () => {
|
|
89
|
+
const list = [
|
|
90
|
+
{ num: '1952519770', expected: '3' },
|
|
91
|
+
{ num: 952519770, expected: '6' },
|
|
92
|
+
{ num: 52519770, expected: '2' },
|
|
93
|
+
];
|
|
94
|
+
list.forEach((item) => {
|
|
95
|
+
const calcDv = renavam_1.dv(item.num);
|
|
96
|
+
expect(calcDv).toBe(item.expected);
|
|
97
|
+
expect(typeof calcDv).toBe('string');
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
test('mask() - Testando se a máscara foi gerada corretamente', () => {
|
|
101
|
+
const list = [
|
|
102
|
+
{ num: '19525197703', expected: '1952519770-3' },
|
|
103
|
+
{ num: 9525197703, expected: '0952519770-3' },
|
|
104
|
+
{ num: 525197703, expected: '0052519770-3' },
|
|
105
|
+
];
|
|
106
|
+
list.forEach((item) => {
|
|
107
|
+
const masked = renavam_1.mask(item.num);
|
|
108
|
+
expect(masked).toBe(item.expected);
|
|
109
|
+
expect(masked).toHaveLength(12);
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
//# sourceMappingURL=renavam.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renavam.test.js","sourceRoot":"","sources":["../src/renavam.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* isTitulo()
|
|
4
|
+
* Calcula se um título eleitoral é válido
|
|
5
|
+
*
|
|
6
|
+
* @doc
|
|
7
|
+
* Título de eleitor deve possuir 12 dígitos.
|
|
8
|
+
*
|
|
9
|
+
* - Os caracteres 1 a 8 são números sequenciais.
|
|
10
|
+
*
|
|
11
|
+
* - Os caracteres 9 e 10 representam os estados da federação onde o título
|
|
12
|
+
* foi emitido (01 = SP, 02 = MG, 03 = RJ, 04 = RS, 05 = BA, 06 = PR, 07 = CE, 08 = PE,
|
|
13
|
+
* 09 = SC, 10 = GO, 11 = MA12 = PB, 13 = PA, 14 = ES, 15 = PI, 16 = RN, 17 = AL,
|
|
14
|
+
* 18 = MT, 19 = MS, 20 = DF, 21 = SE, 22 = AM, 23 = RO, 24 = AC, 25 = AP, 26 = RR,
|
|
15
|
+
* 27 = TO, 28 = Exterior(ZZ).
|
|
16
|
+
*
|
|
17
|
+
* - Os caracteres 11 e 12 são dígitos verificadores.
|
|
18
|
+
*
|
|
19
|
+
* 1) Partes do número
|
|
20
|
+
* ------------------------------------------------
|
|
21
|
+
* | Número Sequencial | UF | DV |
|
|
22
|
+
* 1 0 2 3 8 5 0 1 0 6 7 1
|
|
23
|
+
*
|
|
24
|
+
* 2) Cálculo do primeiro DV.
|
|
25
|
+
*
|
|
26
|
+
* - Soma-se o produto das algarismos 1 a 8 pelos números 2, 3, 4, 5, 6, 7, 8 e 9.
|
|
27
|
+
*
|
|
28
|
+
* 1 0 2 3 8 5 0 1
|
|
29
|
+
* x x x x x x x x
|
|
30
|
+
* 2 3 4 5 6 7 8 9
|
|
31
|
+
* = 2 + 0 + 8 +15 +48 +35 + 0 + 9 = 117
|
|
32
|
+
*
|
|
33
|
+
* - O somatório encontrado é dividido por 11. O DV1 é o resto da divisão. Se o
|
|
34
|
+
* resto for 10, o DV1 é 0.
|
|
35
|
+
*
|
|
36
|
+
* 2.1) 117 / 11 tem resto igual a 7.
|
|
37
|
+
*
|
|
38
|
+
* 3) Cálculo do segundo DV
|
|
39
|
+
*
|
|
40
|
+
* - Soma-se o produto dos algarismos 9 a 11 (relativos aos 2 dígitos da UF e o novo
|
|
41
|
+
* DV1 que acabou de ser calculado) e os multiplicam pelos números 7, 8 e 9. Se o
|
|
42
|
+
* resto for 10, DV2 será 0.
|
|
43
|
+
* 0 6 7
|
|
44
|
+
* x x x
|
|
45
|
+
* 7 8 9
|
|
46
|
+
* = 0 +48 +63 = 111
|
|
47
|
+
*
|
|
48
|
+
* 3.1) 111 / 11 tem resto igual a 1.
|
|
49
|
+
*
|
|
50
|
+
* Fonte: http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-titulo-de-eleitor/
|
|
51
|
+
*
|
|
52
|
+
* @param {String} value Título eleitoral
|
|
53
|
+
* @returns {Boolean}
|
|
54
|
+
*/
|
|
55
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
56
|
+
exports.validate = exports.validateOrFail = exports.fake = exports.mask = exports.dv = void 0;
|
|
57
|
+
const utils_1 = require("./utils");
|
|
58
|
+
/**
|
|
59
|
+
* dv()
|
|
60
|
+
* Calcula o dígito verificador
|
|
61
|
+
*
|
|
62
|
+
* @param {Number|String} value
|
|
63
|
+
* @returns {String}
|
|
64
|
+
*/
|
|
65
|
+
exports.dv = (value) => {
|
|
66
|
+
if (!value)
|
|
67
|
+
throw new Error('CPF não informado');
|
|
68
|
+
const titulo = utils_1.clearValue(value, 10);
|
|
69
|
+
const invalidList = utils_1.invalidListGenerator(10);
|
|
70
|
+
if (invalidList.includes(titulo)) {
|
|
71
|
+
throw new Error('Título não pode ser uma sequência de números iguais');
|
|
72
|
+
}
|
|
73
|
+
const sum1 = utils_1.sumElementsByMultipliers(titulo.substring(0, 8), [2, 3, 4, 5, 6, 7, 8, 9]);
|
|
74
|
+
const dv1 = sum1 % 11 >= 10 ? 0 : sum1 % 11;
|
|
75
|
+
const sum2 = utils_1.sumElementsByMultipliers(titulo.substring(8, 10) + dv1, [7, 8, 9]);
|
|
76
|
+
const dv2 = sum2 % 11 >= 10 ? 0 : sum2 % 11;
|
|
77
|
+
return `${dv1}${dv2}`;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Aplica uma máscara ao número informado
|
|
81
|
+
*
|
|
82
|
+
* @param {String} value Número de Processo
|
|
83
|
+
* @returns {String} Valor com a máscara
|
|
84
|
+
*/
|
|
85
|
+
exports.mask = (value) => utils_1.applyMask(value, '0000.0000.0000');
|
|
86
|
+
// const mask = (value) => applyMask(value, '0000.0000.0000');
|
|
87
|
+
/**
|
|
88
|
+
* fake()
|
|
89
|
+
* Gera um número válido
|
|
90
|
+
*
|
|
91
|
+
* @returns {String}
|
|
92
|
+
*/
|
|
93
|
+
exports.fake = (withMask = false) => {
|
|
94
|
+
const num = utils_1.fakeNumber(8, true);
|
|
95
|
+
const uf = (Math.random() * 27 + 1).toFixed(0).padStart(2, '0');
|
|
96
|
+
const titulo = `${num}${uf}${exports.dv(num + uf)}`;
|
|
97
|
+
if (withMask)
|
|
98
|
+
return exports.mask(titulo);
|
|
99
|
+
return titulo;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* validateOrFail()
|
|
103
|
+
* Valida se um número de processo está correto e
|
|
104
|
+
* retorna uma exceção se não estiver
|
|
105
|
+
*
|
|
106
|
+
* @returns {Boolean}
|
|
107
|
+
*/
|
|
108
|
+
exports.validateOrFail = (value) => {
|
|
109
|
+
const titulo = utils_1.clearValue(value, 12);
|
|
110
|
+
if (exports.dv(titulo) !== titulo.substring(10, 12)) {
|
|
111
|
+
throw new Error('Dígito verificador inválido');
|
|
112
|
+
}
|
|
113
|
+
return true;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* validate()
|
|
117
|
+
* Valida se um número de processo está correto
|
|
118
|
+
*
|
|
119
|
+
* @returns {Boolean}
|
|
120
|
+
*/
|
|
121
|
+
exports.validate = (value) => {
|
|
122
|
+
try {
|
|
123
|
+
return exports.validateOrFail(value);
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
exports.default = exports.validate;
|
|
130
|
+
//# sourceMappingURL=tituloEleitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tituloEleitor.js","sourceRoot":"","sources":["../src/tituloEleitor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;;;AAEH,mCAMgB;AAEhB;;;;;;GAMG;AACU,QAAA,EAAE,GAAG,CAAC,KAAsB,EAAU,EAAE;IACnD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAEhD,MAAM,MAAM,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAEpC,MAAM,WAAW,GAAG,4BAAoB,CAAC,EAAE,CAAC,CAAA;IAC5C,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;KACvE;IAED,MAAM,IAAI,GAAG,gCAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACvF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAE3C,MAAM,IAAI,GAAG,gCAAwB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC/E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;IAE3C,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE,CAAA;AACvB,CAAC,CAAA;AAED;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,iBAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;AAC1F,8DAA8D;AAE9D;;;;;GAKG;AACU,QAAA,IAAI,GAAG,CAAC,WAAoB,KAAK,EAAU,EAAE;IACxD,MAAM,GAAG,GAAG,kBAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAE/B,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAE/D,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,UAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;IAE3C,IAAI,QAAQ;QAAE,OAAO,YAAI,CAAC,MAAM,CAAC,CAAA;IACjC,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED;;;;;;GAMG;AACU,QAAA,cAAc,GAAG,CAAC,KAAsB,EAAW,EAAE;IAChE,MAAM,MAAM,GAAG,kBAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAEpC,IAAI,UAAE,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QAC3C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;KAC/C;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;GAKG;AACU,QAAA,QAAQ,GAAG,CAAC,KAAsB,EAAW,EAAE;IAC1D,IAAI;QACF,OAAO,sBAAc,CAAC,KAAK,CAAC,CAAA;KAC7B;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAA;KACb;AACH,CAAC,CAAA;AAED,kBAAe,gBAAQ,CAAA"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
const tituloEleitor_1 = __importStar(require("./tituloEleitor"));
|
|
23
|
+
describe('TituloEleitor', () => {
|
|
24
|
+
test('isTituloEleitor() - Números válidos', () => {
|
|
25
|
+
const list = [
|
|
26
|
+
// masked
|
|
27
|
+
'1023.8501.0671',
|
|
28
|
+
'8365.7137.1619',
|
|
29
|
+
// string
|
|
30
|
+
'153036161686',
|
|
31
|
+
'525028881694',
|
|
32
|
+
// integer
|
|
33
|
+
11122223360,
|
|
34
|
+
1122223336,
|
|
35
|
+
];
|
|
36
|
+
list.forEach((tituloEleitor) => {
|
|
37
|
+
expect(tituloEleitor_1.default(tituloEleitor)).toBeTruthy();
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
test('validate() - Números válidos', () => {
|
|
41
|
+
const list = [
|
|
42
|
+
// masked
|
|
43
|
+
'1023.8501.0671',
|
|
44
|
+
'8365.7137.1619',
|
|
45
|
+
// string
|
|
46
|
+
'153036161686',
|
|
47
|
+
'525028881694',
|
|
48
|
+
// integer
|
|
49
|
+
11122223360,
|
|
50
|
+
1122223336,
|
|
51
|
+
];
|
|
52
|
+
list.forEach((tituloEleitor) => {
|
|
53
|
+
expect(tituloEleitor_1.validate(tituloEleitor)).toBeTruthy();
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
test('validate() - Números inválidos', () => {
|
|
57
|
+
const list = [
|
|
58
|
+
'836531371619',
|
|
59
|
+
'743620641660',
|
|
60
|
+
'153016161686',
|
|
61
|
+
'525078881694',
|
|
62
|
+
'026367681660',
|
|
63
|
+
'558647441635',
|
|
64
|
+
'222222222222',
|
|
65
|
+
];
|
|
66
|
+
list.forEach((tituloEleitor) => {
|
|
67
|
+
expect(tituloEleitor_1.validate(tituloEleitor)).toBeFalsy();
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
test('validateOrFail() - Números inválidos', () => {
|
|
71
|
+
const list = [
|
|
72
|
+
'836531371619',
|
|
73
|
+
'743620641660',
|
|
74
|
+
'153016161686',
|
|
75
|
+
'525078881694',
|
|
76
|
+
'026367681660',
|
|
77
|
+
'558647441635',
|
|
78
|
+
'222222222222',
|
|
79
|
+
];
|
|
80
|
+
list.forEach((tituloEleitor) => {
|
|
81
|
+
expect(() => tituloEleitor_1.validateOrFail(tituloEleitor)).toThrow();
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
test('Parâmetro não informado', () => {
|
|
85
|
+
expect(tituloEleitor_1.default('')).toBeFalsy();
|
|
86
|
+
expect(tituloEleitor_1.validate('')).toBeFalsy();
|
|
87
|
+
expect(() => tituloEleitor_1.validateOrFail('')).toThrow();
|
|
88
|
+
expect(() => tituloEleitor_1.dv('')).toThrow();
|
|
89
|
+
});
|
|
90
|
+
test('fake() - Gera fakes sem máscara', () => {
|
|
91
|
+
for (let i = 0; i < 5; i += 1) {
|
|
92
|
+
const tituloEleitor = tituloEleitor_1.fake();
|
|
93
|
+
expect(tituloEleitor_1.validate(tituloEleitor)).toBeTruthy();
|
|
94
|
+
expect(tituloEleitor).toHaveLength(12);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
test('fake() - Gera fakes com máscara', () => {
|
|
98
|
+
for (let i = 0; i < 5; i += 1) {
|
|
99
|
+
const tituloEleitor = tituloEleitor_1.fake(true);
|
|
100
|
+
expect(tituloEleitor_1.validate(tituloEleitor)).toBeTruthy();
|
|
101
|
+
expect(tituloEleitor).toHaveLength(14);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
test('dv() - Verificando se o DV gerado está correto', () => {
|
|
105
|
+
const list = [
|
|
106
|
+
{ num: '1023850106', expected: '71' },
|
|
107
|
+
{ num: '8365713716', expected: '19' },
|
|
108
|
+
{ num: '7436506416', expected: '60' },
|
|
109
|
+
{ num: 11222233, expected: '36' },
|
|
110
|
+
];
|
|
111
|
+
list.forEach((item) => {
|
|
112
|
+
const calcDv = tituloEleitor_1.dv(item.num);
|
|
113
|
+
expect(calcDv).toBe(item.expected);
|
|
114
|
+
expect(typeof calcDv).toBe('string');
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
test('mask() - Testando se a máscara foi gerada corretamente', () => {
|
|
118
|
+
const list = [
|
|
119
|
+
{ num: '102385010671', expected: '1023.8501.0671' },
|
|
120
|
+
{ num: '836571371619', expected: '8365.7137.1619' },
|
|
121
|
+
{ num: '743650641660', expected: '7436.5064.1660' },
|
|
122
|
+
{ num: 11122223360, expected: '0111.2222.3360' },
|
|
123
|
+
{ num: 1122223336, expected: '0011.2222.3336' },
|
|
124
|
+
];
|
|
125
|
+
list.forEach((item) => {
|
|
126
|
+
const masked = tituloEleitor_1.mask(item.num);
|
|
127
|
+
expect(masked).toBe(item.expected);
|
|
128
|
+
expect(masked).toHaveLength(14);
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
//# sourceMappingURL=tituloEleitor.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tituloEleitor.test.js","sourceRoot":"","sources":["../src/tituloEleitor.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const { applyMask } = require('./utils');
|
|
3
|
+
describe('applyMask()', () => {
|
|
4
|
+
const items = [
|
|
5
|
+
{ value: '123456', mask: '00000-0', expected: '12345-6' },
|
|
6
|
+
{ value: '12345', mask: '00000-0', expected: '01234-5' },
|
|
7
|
+
{ value: '123456789', mask: '00000-0', expected: '12345-6' },
|
|
8
|
+
{ value: 123456789, mask: '00000-0', expected: '12345-6' },
|
|
9
|
+
];
|
|
10
|
+
test('Máscara deve ser aplicada com o valor e tamanho correto', () => {
|
|
11
|
+
items.forEach((item) => {
|
|
12
|
+
expect(item.expected.length).toBe(item.mask.length);
|
|
13
|
+
expect(applyMask(item.value, item.mask)).toBe(item.expected);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=utils-applyMask.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-applyMask.test.js","sourceRoot":"","sources":["../src/utils-applyMask.test.ts"],"names":[],"mappings":";AAAA,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAExC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,MAAM,KAAK,GAAG;QACZ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;QACzD,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;QACxD,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;QAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;KAC3D,CAAA;IAED,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACnE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACnD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("./utils");
|
|
4
|
+
describe('clearValue()', () => {
|
|
5
|
+
test('Deve limpar o valor - Strings do Mesmo tamanho', () => {
|
|
6
|
+
//
|
|
7
|
+
const valid = [
|
|
8
|
+
{ value: 1234567890, size: 10, expected: '1234567890' },
|
|
9
|
+
{ value: '1234567890', size: 10, expected: '1234567890' },
|
|
10
|
+
{ value: '12.345.678-90', size: 10, expected: '1234567890' },
|
|
11
|
+
];
|
|
12
|
+
valid.forEach((item) => {
|
|
13
|
+
expect(utils_1.clearValue(item.value, item.size)).toBe(item.expected);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
test('Deve limpar os caracteres não numéricos sem verificar o tamanho da string', () => {
|
|
17
|
+
//
|
|
18
|
+
const valid = [
|
|
19
|
+
{ value: 1234567890123, size: null, expected: '1234567890123' },
|
|
20
|
+
{ value: '4567890', size: null, expected: '4567890' },
|
|
21
|
+
{ value: '345.678-90', size: null, expected: '34567890' },
|
|
22
|
+
];
|
|
23
|
+
valid.forEach((item) => {
|
|
24
|
+
expect(utils_1.clearValue(item.value, item.size)).toBe(item.expected);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
test('Deve limpar o valor os caracteres não numéricos e completar com zeros à esquerda', () => {
|
|
28
|
+
//
|
|
29
|
+
const valid = [
|
|
30
|
+
{ value: 1234, size: 10, expected: '0000001234' },
|
|
31
|
+
{ value: '1234', size: 10, expected: '0000001234' },
|
|
32
|
+
{ value: '123-4', size: 10, expected: '0000001234' },
|
|
33
|
+
];
|
|
34
|
+
valid.forEach((item) => {
|
|
35
|
+
expect(utils_1.clearValue(item.value, item.size)).toBe(item.expected);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
test('Deve limpar o valor os caracteres não numéricos e remover os caracteres que passarem de size', () => {
|
|
39
|
+
//
|
|
40
|
+
const valid = [
|
|
41
|
+
{ value: 123456789, size: 4, expected: '1234' },
|
|
42
|
+
{ value: '1234567890', size: 4, expected: '1234' },
|
|
43
|
+
{ value: '12.345.678-90', size: 4, expected: '1234' },
|
|
44
|
+
];
|
|
45
|
+
valid.forEach((item) => {
|
|
46
|
+
expect(utils_1.clearValue(item.value, item.size)).toBe(item.expected);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=utils-clearValue.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-clearValue.test.js","sourceRoot":"","sources":["../src/utils-clearValue.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const { fakeNumber } = require('./utils');
|
|
3
|
+
describe('fakeNumber()', () => {
|
|
4
|
+
test('forceLength = true', () => {
|
|
5
|
+
const num = fakeNumber(4, true);
|
|
6
|
+
expect(num).toHaveLength(4);
|
|
7
|
+
expect(typeof num).toBe('string');
|
|
8
|
+
expect(num).toMatch(/^[\d]+$/);
|
|
9
|
+
});
|
|
10
|
+
test('forceLength = false', () => {
|
|
11
|
+
const num = fakeNumber(4);
|
|
12
|
+
expect(num).toBeLessThanOrEqual(9999);
|
|
13
|
+
expect(num).toBeGreaterThanOrEqual(0);
|
|
14
|
+
expect(typeof num).toBe('number');
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=utils-fakeNumber.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-fakeNumber.test.js","sourceRoot":"","sources":["../src/utils-fakeNumber.test.ts"],"names":[],"mappings":";AAAA,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEzC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC9B,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAE/B,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC3B,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;QAEzB,MAAM,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA;QACrC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("./utils");
|
|
4
|
+
describe('insertAtPosition()', () => {
|
|
5
|
+
test('Deve inserir um caractere em uma determinada posição da string', () => {
|
|
6
|
+
//
|
|
7
|
+
const list = [
|
|
8
|
+
{ value: 'AAABBB', insert: 'C', position: 3, expected: 'AAACBBB' },
|
|
9
|
+
{ value: 'J Med', insert: 'Cl ', position: 2, expected: 'J Cl Med' },
|
|
10
|
+
];
|
|
11
|
+
list.forEach((item) => {
|
|
12
|
+
expect(utils_1.insertAtPosition(item.value, item.insert, item.position)).toBe(item.expected);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=utils-insertAtPosition.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-insertAtPosition.test.js","sourceRoot":"","sources":["../src/utils-insertAtPosition.test.ts"],"names":[],"mappings":";;AAAA,mCAA0C;AAE1C,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,CAAC,gEAAgE,EAAE,GAAG,EAAE;QAC1E,EAAE;QACF,MAAM,IAAI,GAAG;YACX,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE;YAClE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE;SACrE,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,CAAC,wBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const { invalidListGenerator } = require('./utils');
|
|
3
|
+
describe('invalidListGenerator()', () => {
|
|
4
|
+
test('invalidListGenerator - Número de itens', () => {
|
|
5
|
+
const list = invalidListGenerator(4);
|
|
6
|
+
expect(1).toBe(1);
|
|
7
|
+
expect(Array.isArray(list)).toBeTruthy();
|
|
8
|
+
});
|
|
9
|
+
test('invalidListGenerator - Tamanho dos itens', () => {
|
|
10
|
+
const valid = [
|
|
11
|
+
{ length: 10, size: 8 },
|
|
12
|
+
{ length: 10, size: 4 },
|
|
13
|
+
];
|
|
14
|
+
valid.forEach((item) => {
|
|
15
|
+
const list = invalidListGenerator(item.size);
|
|
16
|
+
expect(list).toHaveLength(10);
|
|
17
|
+
list.forEach((num) => {
|
|
18
|
+
expect(num).toHaveLength(item.size);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=utils-invalidListGenerator.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-invalidListGenerator.test.js","sourceRoot":"","sources":["../src/utils-invalidListGenerator.test.ts"],"names":[],"mappings":";AAAA,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEnD,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAClD,MAAM,IAAI,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAA;QAEpC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACpD,MAAM,KAAK,GAAG;YACZ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;YACvB,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;SACxB,CAAA;QAED,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAE5C,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;YAE7B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;gBAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrC,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("./utils");
|
|
4
|
+
describe('removeFromPosition()', () => {
|
|
5
|
+
test('', () => {
|
|
6
|
+
//
|
|
7
|
+
const list = [
|
|
8
|
+
{ value: 'Jossé', start: 2, end: 3, expected: 'José' },
|
|
9
|
+
{ value: 'Cláuudio', start: 4, end: 5, expected: 'Cláudio' },
|
|
10
|
+
];
|
|
11
|
+
list.forEach((item) => {
|
|
12
|
+
expect(utils_1.removeFromPosition(item.value, item.start, item.end)).toBe(item.expected);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=utils-removeFromPosition.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-removeFromPosition.test.js","sourceRoot":"","sources":["../src/utils-removeFromPosition.test.ts"],"names":[],"mappings":";;AAAA,mCAA4C;AAE5C,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE;QACZ,EAAE;QACF,MAAM,IAAI,GAAG;YACX,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;YACtD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE;SAC7D,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,CAAC,0BAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const { sumElementsByMultipliers } = require('./utils');
|
|
3
|
+
describe('sumElementsByMultipliers()', () => {
|
|
4
|
+
test('Tipo do retorno', () => {
|
|
5
|
+
const sum = sumElementsByMultipliers('1234', '9876');
|
|
6
|
+
expect(typeof sum).toBe('number');
|
|
7
|
+
expect(sum).toBe(70);
|
|
8
|
+
});
|
|
9
|
+
test('Valores retornados', () => {
|
|
10
|
+
;
|
|
11
|
+
[
|
|
12
|
+
{ input: '1234', multipliers: '9876', expected: 70 },
|
|
13
|
+
{ input: '1234', multipliers: [9, 8, 7, 6], expected: 70 },
|
|
14
|
+
// cnpj
|
|
15
|
+
{ input: '112223330001', multipliers: [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2], expected: 102 },
|
|
16
|
+
{ input: '1122233300018', multipliers: '6543298765432', expected: 120 },
|
|
17
|
+
// cpf
|
|
18
|
+
{ input: '280012389', multipliers: [10, 9, 8, 7, 6, 5, 4, 3, 2], expected: 162 },
|
|
19
|
+
{ input: '2800123893', multipliers: [11, 10, 9, 8, 7, 6, 5, 4, 3, 2], expected: 201 },
|
|
20
|
+
// titulo
|
|
21
|
+
{ input: '10238501', multipliers: '23456789', expected: 117 },
|
|
22
|
+
{ input: '067', multipliers: '789', expected: 111 },
|
|
23
|
+
].forEach((item) => {
|
|
24
|
+
const sum = sumElementsByMultipliers(item.input, item.multipliers);
|
|
25
|
+
expect(sum).toBe(item.expected);
|
|
26
|
+
});
|
|
27
|
+
const sum = sumElementsByMultipliers('1234', '9876');
|
|
28
|
+
expect(typeof sum).toBe('number');
|
|
29
|
+
expect(sum).toBe(70);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=utils-sumElementsByMultipliers.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-sumElementsByMultipliers.test.js","sourceRoot":"","sources":["../src/utils-sumElementsByMultipliers.test.ts"],"names":[],"mappings":";AAAA,MAAM,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEvD,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC3B,MAAM,GAAG,GAAG,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAEpD,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC9B,CAAC;QAAA;YACC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;YACpD,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC1D,OAAO;YACP,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;YAC3F,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,EAAE;YACvE,MAAM;YACN,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;YAChF,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE;YACrF,SAAS;YACT,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE;YAC7D,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE;SACpD,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACjB,MAAM,GAAG,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAClE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAEpD,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const { sumToDV } = require('./utils');
|
|
3
|
+
describe('sumToDV()', () => {
|
|
4
|
+
test('Os resultados devem ser os esperados', () => {
|
|
5
|
+
const list = [
|
|
6
|
+
{ value: 102, expected: 8 },
|
|
7
|
+
{ value: 120, expected: 1 },
|
|
8
|
+
{ value: 162, expected: 3 },
|
|
9
|
+
{ value: 179, expected: 8 },
|
|
10
|
+
];
|
|
11
|
+
list.forEach((item) => {
|
|
12
|
+
expect(sumToDV(item.value)).toBe(item.expected);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=utils-sumToDV.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-sumToDV.test.js","sourceRoot":"","sources":["../src/utils-sumToDV.test.ts"],"names":[],"mappings":";AAAA,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEtC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,IAAI,GAAG;YACX,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE;YAC3B,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE;YAC3B,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE;YAC3B,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE;SAC5B,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|