validation-br 1.6.0 → 1.6.1
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/dist/_exceptions/ValidationBRError.d.ts +7 -0
- package/dist/_exceptions/ValidationBRError.js +11 -0
- package/dist/_exceptions/ValidationBRError.js.map +1 -0
- package/dist/cnh.d.ts +98 -0
- package/dist/cnh.js +149 -0
- package/dist/cnh.js.map +1 -0
- package/dist/cnpj.d.ts +121 -0
- package/dist/cnpj.js +191 -0
- package/dist/cnpj.js.map +1 -0
- package/dist/cpf.d.ts +106 -0
- package/dist/cpf.js +157 -0
- package/dist/cpf.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +42 -0
- package/dist/index.js.map +1 -0
- package/dist/judicialProcess.d.ts +133 -0
- package/dist/judicialProcess.js +200 -0
- package/dist/judicialProcess.js.map +1 -0
- package/dist/nup17.d.ts +103 -0
- package/dist/nup17.js +159 -0
- package/dist/nup17.js.map +1 -0
- package/dist/package-lock.json +4372 -0
- package/dist/package.json +117 -0
- package/dist/pisPasep.d.ts +88 -0
- package/dist/pisPasep.js +136 -0
- package/dist/pisPasep.js.map +1 -0
- package/dist/postalCode.d.ts +92 -0
- package/dist/postalCode.js +144 -0
- package/dist/postalCode.js.map +1 -0
- package/dist/readme.md +492 -0
- package/dist/renavam.d.ts +82 -0
- package/dist/renavam.js +132 -0
- package/dist/renavam.js.map +1 -0
- package/dist/tituloEleitor.d.ts +100 -0
- package/dist/tituloEleitor.js +157 -0
- package/dist/tituloEleitor.js.map +1 -0
- package/dist/utils.d.ts +131 -0
- package/dist/utils.js +190 -0
- package/dist/utils.js.map +1 -0
- package/package.json +14 -3
- package/readme.md +1 -1
- package/.prettierignore +0 -1
- package/.prettierrc.js +0 -7
- package/dist/test/cnh.test.d.ts +0 -1
- package/dist/test/cnh.test.js +0 -116
- package/dist/test/cnh.test.js.map +0 -1
- package/dist/test/cnpj.test.d.ts +0 -1
- package/dist/test/cnpj.test.js +0 -181
- package/dist/test/cnpj.test.js.map +0 -1
- package/dist/test/cpf.test.d.ts +0 -1
- package/dist/test/cpf.test.js +0 -136
- package/dist/test/cpf.test.js.map +0 -1
- package/dist/test/index.test.d.ts +0 -1
- package/dist/test/index.test.js +0 -83
- package/dist/test/index.test.js.map +0 -1
- package/dist/test/judicialProcess.test.d.ts +0 -1
- package/dist/test/judicialProcess.test.js +0 -124
- package/dist/test/judicialProcess.test.js.map +0 -1
- package/dist/test/nup17.test.d.ts +0 -1
- package/dist/test/nup17.test.js +0 -133
- package/dist/test/nup17.test.js.map +0 -1
- package/dist/test/pisPasep.test.d.ts +0 -1
- package/dist/test/pisPasep.test.js +0 -135
- package/dist/test/pisPasep.test.js.map +0 -1
- package/dist/test/postalCode.test.d.ts +0 -1
- package/dist/test/postalCode.test.js +0 -123
- package/dist/test/postalCode.test.js.map +0 -1
- package/dist/test/renavam.test.d.ts +0 -1
- package/dist/test/renavam.test.js +0 -91
- package/dist/test/renavam.test.js.map +0 -1
- package/dist/test/tituloEleitor.test.d.ts +0 -1
- package/dist/test/tituloEleitor.test.js +0 -118
- package/dist/test/tituloEleitor.test.js.map +0 -1
- package/dist/test/utils-applyMask.test.d.ts +0 -1
- package/dist/test/utils-applyMask.test.js +0 -15
- package/dist/test/utils-applyMask.test.js.map +0 -1
- package/dist/test/utils-checkRepeatedSequence.test.d.ts +0 -1
- package/dist/test/utils-checkRepeatedSequence.test.js +0 -18
- package/dist/test/utils-checkRepeatedSequence.test.js.map +0 -1
- package/dist/test/utils-clearValue.test.d.ts +0 -1
- package/dist/test/utils-clearValue.test.js +0 -59
- package/dist/test/utils-clearValue.test.js.map +0 -1
- package/dist/test/utils-fakeNumber.test.d.ts +0 -1
- package/dist/test/utils-fakeNumber.test.js +0 -24
- package/dist/test/utils-fakeNumber.test.js.map +0 -1
- package/dist/test/utils-insertAtPosition.test.d.ts +0 -1
- package/dist/test/utils-insertAtPosition.test.js +0 -16
- package/dist/test/utils-insertAtPosition.test.js.map +0 -1
- package/dist/test/utils-randomLetter.test.d.ts +0 -1
- package/dist/test/utils-randomLetter.test.js +0 -11
- package/dist/test/utils-randomLetter.test.js.map +0 -1
- package/dist/test/utils-removeFromPosition.test.d.ts +0 -1
- package/dist/test/utils-removeFromPosition.test.js +0 -12
- package/dist/test/utils-removeFromPosition.test.js.map +0 -1
- package/dist/test/utils-sumElementsByMultipliers.test.d.ts +0 -1
- package/dist/test/utils-sumElementsByMultipliers.test.js +0 -23
- package/dist/test/utils-sumElementsByMultipliers.test.js.map +0 -1
- package/dist/test/utils-sumToDV.test.d.ts +0 -1
- package/dist/test/utils-sumToDV.test.js +0 -14
- package/dist/test/utils-sumToDV.test.js.map +0 -1
- package/eslint.config.js +0 -82
- package/jest.config.js +0 -11
- package/test/cnh.test.ts +0 -113
- package/test/cnpj.test.ts +0 -179
- package/test/cpf.test.ts +0 -124
- package/test/index.test.ts +0 -85
- package/test/judicialProcess.test.ts +0 -120
- package/test/nup17.test.ts +0 -127
- package/test/pisPasep.test.ts +0 -126
- package/test/postalCode.test.ts +0 -114
- package/test/renavam.test.ts +0 -77
- package/test/tituloEleitor.test.ts +0 -110
- package/test/utils-applyMask.test.ts +0 -13
- package/test/utils-checkRepeatedSequence.test.ts +0 -17
- package/test/utils-clearValue.test.ts +0 -69
- package/test/utils-fakeNumber.test.ts +0 -28
- package/test/utils-insertAtPosition.test.ts +0 -15
- package/test/utils-randomLetter.test.ts +0 -9
- package/test/utils-removeFromPosition.test.ts +0 -10
- package/test/utils-sumElementsByMultipliers.test.ts +0 -24
- package/test/utils-sumToDV.test.ts +0 -12
- package/tsconfig.json +0 -25
package/test/nup17.test.ts
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import isNUP17, { dv, fake, mask, normalize, validate, validateOrFail } from '../src/nup17';
|
|
2
|
-
import * as _nup17 from '../src/nup17';
|
|
3
|
-
|
|
4
|
-
describe('NUP17', () => {
|
|
5
|
-
test.each([
|
|
6
|
-
// Masked
|
|
7
|
-
'23037.001380/2021-11',
|
|
8
|
-
'23037.001434/2021-48',
|
|
9
|
-
'23037.001321/2021-42',
|
|
10
|
-
// String
|
|
11
|
-
'23037001462202165',
|
|
12
|
-
'23037001537202116',
|
|
13
|
-
'23037001086202117',
|
|
14
|
-
])('isNUP17() - Números válidos', (item) => {
|
|
15
|
-
|
|
16
|
-
expect(isNUP17(item)).toBeTruthy();
|
|
17
|
-
expect(_nup17.validate(item)).toBeTruthy();
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
test.each([
|
|
21
|
-
// Masked
|
|
22
|
-
'23037.001380/2021-11',
|
|
23
|
-
'23037.001434/2021-48',
|
|
24
|
-
'23037.001321/2021-42',
|
|
25
|
-
// String
|
|
26
|
-
'23037001462202165',
|
|
27
|
-
'23037001537202116',
|
|
28
|
-
'23037001086202117',
|
|
29
|
-
])('validate() - Números válidos', (item) => {
|
|
30
|
-
|
|
31
|
-
expect(validate(item)).toBeTruthy();
|
|
32
|
-
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
test.each([
|
|
36
|
-
// Masked
|
|
37
|
-
'23037001380202112',
|
|
38
|
-
'23037001434202142',
|
|
39
|
-
'23037001462202162',
|
|
40
|
-
'23037001537202112',
|
|
41
|
-
])('validate() - Números inválidos', (item) => {
|
|
42
|
-
|
|
43
|
-
expect(validate(item)).toBeFalsy();
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
test.each([
|
|
47
|
-
// Masked
|
|
48
|
-
'23037001380202112',
|
|
49
|
-
'23037001434202142',
|
|
50
|
-
'23037001462202162',
|
|
51
|
-
'23037001537202112',
|
|
52
|
-
])('validateOrFail() - Números inválidos', (item) => {
|
|
53
|
-
|
|
54
|
-
expect(() => validateOrFail(item)).toThrow();
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
test.each([
|
|
58
|
-
// Números válidos com 1 caractere a mais no final
|
|
59
|
-
'230370014622021650',
|
|
60
|
-
'230370015372021160',
|
|
61
|
-
'230370010862021170',
|
|
62
|
-
])('validateOrFail() - Números válidos com caracteres adicionais', (item) => {
|
|
63
|
-
expect(() => validateOrFail(item)).toThrow();
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
test('Parâmetro não informado', () => {
|
|
67
|
-
expect(isNUP17('')).toBeFalsy();
|
|
68
|
-
expect(validate('')).toBeFalsy();
|
|
69
|
-
expect(() => validateOrFail('')).toThrow();
|
|
70
|
-
expect(() => dv('')).toThrow();
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
test.each([...Array(5)])('fake() - Gera fakes sem máscara', () => {
|
|
74
|
-
const nup17 = fake();
|
|
75
|
-
expect(validate(nup17)).toBeTruthy();
|
|
76
|
-
expect(nup17).toHaveLength(17);
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
test.each([...Array(5)])('fake() - Gera fakes com máscara', () => {
|
|
80
|
-
const nup17 = fake(true);
|
|
81
|
-
expect(validate(nup17)).toBeTruthy();
|
|
82
|
-
expect(nup17).toHaveLength(20);
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
test.each([
|
|
86
|
-
{ num: '23037.001380/2021', expected: '11' },
|
|
87
|
-
{ num: '23037.001434/2021', expected: '48' },
|
|
88
|
-
{ num: '23037.001321/2021', expected: '42' },
|
|
89
|
-
{ num: '230370014622021', expected: '65' },
|
|
90
|
-
{ num: '230370015372021', expected: '16' },
|
|
91
|
-
{ num: '230370010862021', expected: '17' },
|
|
92
|
-
])('dv() - Verificando se o DV gerado está correto', (item) => {
|
|
93
|
-
const calcDv = dv(item.num);
|
|
94
|
-
|
|
95
|
-
expect(calcDv).toBe(item.expected);
|
|
96
|
-
expect(typeof calcDv).toBe('string');
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
test.each([
|
|
100
|
-
{ value: '23037001380202111', expected: '23037.001380/2021-11' },
|
|
101
|
-
{ value: '23037001434202148', expected: '23037.001434/2021-48' },
|
|
102
|
-
{ value: '23037001321202142', expected: '23037.001321/2021-42' },
|
|
103
|
-
{ value: '23037001462202165', expected: '23037.001462/2021-65' },
|
|
104
|
-
{ value: '23037001537202116', expected: '23037.001537/2021-16' },
|
|
105
|
-
{ value: '23037001086202117', expected: '23037.001086/2021-17' },
|
|
106
|
-
])('mask() - Testando se a máscara foi gerada corretamente', (item) => {
|
|
107
|
-
const masked = mask(item.value);
|
|
108
|
-
|
|
109
|
-
expect(masked).toBe(item.expected);
|
|
110
|
-
expect(masked).toHaveLength(20);
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
test.each([
|
|
114
|
-
{ value: '23037.001380/2021-11', expected: '23037001380202111', },
|
|
115
|
-
{ value: '23037.001434/2021-48', expected: '23037001434202148', },
|
|
116
|
-
{ value: '23037.001321/2021-42', expected: '23037001321202142', },
|
|
117
|
-
{ value: '23037.001462/2021-65', expected: '23037001462202165', },
|
|
118
|
-
{ value: '23037.001537/2021-16', expected: '23037001537202116', },
|
|
119
|
-
{ value: '23037.001086/2021-17', expected: '23037001086202117', },
|
|
120
|
-
])('normalize() - Deve remover a máscara corretamente', (item) => {
|
|
121
|
-
|
|
122
|
-
const normalized = normalize(item.value);
|
|
123
|
-
|
|
124
|
-
expect(normalized).toBe(item.expected);
|
|
125
|
-
expect(normalized).toHaveLength(17);
|
|
126
|
-
});
|
|
127
|
-
});
|
package/test/pisPasep.test.ts
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import isPIS, { dv, fake, mask, normalize, validate, validateOrFail } from '../src/pisPasep';
|
|
2
|
-
import * as _pisPasep from '../src/pisPasep';
|
|
3
|
-
|
|
4
|
-
describe('PIS', () => {
|
|
5
|
-
test.each([
|
|
6
|
-
// string
|
|
7
|
-
'71282677380',
|
|
8
|
-
'23795126955',
|
|
9
|
-
// integer
|
|
10
|
-
50012973803,
|
|
11
|
-
27890141144,
|
|
12
|
-
// masked
|
|
13
|
-
'268.27649.96-0',
|
|
14
|
-
'613.01862.91-7',
|
|
15
|
-
])('isPIS() - Números válidos', (item) => {
|
|
16
|
-
expect(isPIS(item)).toBeTruthy();
|
|
17
|
-
expect(_pisPasep.validate(item)).toBeTruthy();
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
test.each([
|
|
21
|
-
// string
|
|
22
|
-
'71282677380',
|
|
23
|
-
'23795126955',
|
|
24
|
-
// integer
|
|
25
|
-
50012973803,
|
|
26
|
-
27890141144,
|
|
27
|
-
// masked
|
|
28
|
-
'268.27649.96-0',
|
|
29
|
-
'613.01862.91-7',
|
|
30
|
-
])('validate() - Números válidos', (item) => {
|
|
31
|
-
|
|
32
|
-
expect(validate(item)).toBeTruthy();
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
test.each([
|
|
36
|
-
// string
|
|
37
|
-
'712826773809',
|
|
38
|
-
'237951269559',
|
|
39
|
-
// integer
|
|
40
|
-
500129738039,
|
|
41
|
-
278901411449,
|
|
42
|
-
// masked
|
|
43
|
-
'268.27649.96-09',
|
|
44
|
-
'613.01862.91-79',
|
|
45
|
-
])('validate() - Números válidos com caracteres adicionais', (item) => {
|
|
46
|
-
|
|
47
|
-
expect(validate(item)).toBeFalsy();
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
test.each([
|
|
51
|
-
'712.82677.38-2',
|
|
52
|
-
'237.95126.95-4',
|
|
53
|
-
'500.12973.80-1',
|
|
54
|
-
'278.90141.14-9',
|
|
55
|
-
'268.27649.96-2',
|
|
56
|
-
'613.01862.91-4',
|
|
57
|
-
'111.11111.11-1',
|
|
58
|
-
])('validate() - Números inválidos', (item) => {
|
|
59
|
-
expect(validate(item)).toBeFalsy();
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
test.each([
|
|
63
|
-
'712.82677.38-2',
|
|
64
|
-
'237.95126.95-4',
|
|
65
|
-
'500.12973.80-1',
|
|
66
|
-
'278.90141.14-9',
|
|
67
|
-
'268.27649.96-2',
|
|
68
|
-
'613.01862.91-4',
|
|
69
|
-
'111.11111.11-1',
|
|
70
|
-
])('validateOrFail() - Números inválidos', (item) => {
|
|
71
|
-
expect(() => validateOrFail(item)).toThrow();
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
test('Parâmetro não informado', () => {
|
|
75
|
-
expect(isPIS('')).toBeFalsy();
|
|
76
|
-
expect(validate('')).toBeFalsy();
|
|
77
|
-
expect(() => validateOrFail('')).toThrow();
|
|
78
|
-
expect(() => dv('')).toThrow();
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
test.each([...Array(5)])('fake() - Gera fakes sem máscara', () => {
|
|
82
|
-
const pis = fake();
|
|
83
|
-
expect(validate(pis)).toBeTruthy();
|
|
84
|
-
expect(pis).toHaveLength(11);
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
test.each([...Array(5)])('fake() - Gera fakes com máscara', () => {
|
|
88
|
-
const pis = fake(true);
|
|
89
|
-
expect(validate(pis)).toBeTruthy();
|
|
90
|
-
expect(pis).toHaveLength(14);
|
|
91
|
-
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
test.each([
|
|
95
|
-
{ value: '7128267738', expected: '0' },
|
|
96
|
-
{ value: 2379512695, expected: '5' },
|
|
97
|
-
{ value: '5001297380', expected: '3' },
|
|
98
|
-
])('dv() - Verificando se o DV gerado está correto', (item) => {
|
|
99
|
-
const calcDv = dv(item.value);
|
|
100
|
-
expect(calcDv).toBe(item.expected);
|
|
101
|
-
expect(typeof calcDv).toBe('string');
|
|
102
|
-
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
test.each([
|
|
106
|
-
{ value: '71282677380', expected: '712.82677.38-0' },
|
|
107
|
-
{ value: 23795126955, expected: '237.95126.95-5' },
|
|
108
|
-
{ value: '50012973803', expected: '500.12973.80-3' },
|
|
109
|
-
])('mask() - Testando se a máscara foi gerada corretamente', (item) => {
|
|
110
|
-
const masked = mask(item.value);
|
|
111
|
-
|
|
112
|
-
expect(masked).toBe(item.expected);
|
|
113
|
-
expect(masked).toHaveLength(14);
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
test.each([
|
|
117
|
-
{ value: '712.82677.38-0', expected: '71282677380', },
|
|
118
|
-
{ value: '237.95126.95-5', expected: '23795126955', },
|
|
119
|
-
{ value: '500.12973.80-3', expected: '50012973803', },
|
|
120
|
-
])('normalize() - Deve remover a máscara corretamente', (item) => {
|
|
121
|
-
const normalized = normalize(item.value);
|
|
122
|
-
|
|
123
|
-
expect(normalized).toBe(item.expected);
|
|
124
|
-
expect(normalized).toHaveLength(11);
|
|
125
|
-
});
|
|
126
|
-
});
|
package/test/postalCode.test.ts
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import isPostalCode, { dv, fake, normalize, mask, validate, validateOrFail } from '../src/postalCode';
|
|
2
|
-
import * as _postalCode from '../src/postalCode';
|
|
3
|
-
|
|
4
|
-
describe('PostalCode', () => {
|
|
5
|
-
test.each([
|
|
6
|
-
'PN718252423BR',
|
|
7
|
-
'PO925539762BR',
|
|
8
|
-
'JT194690698BR',
|
|
9
|
-
'SV143851674BR',
|
|
10
|
-
'RG727348650CN',
|
|
11
|
-
'RY747622885CN',
|
|
12
|
-
'RY728187035CN',
|
|
13
|
-
'RH940629235CN',
|
|
14
|
-
'RY686586175CN',
|
|
15
|
-
'RY648001205CN',
|
|
16
|
-
'UJ776469464CN',
|
|
17
|
-
'LZ667841882CN',
|
|
18
|
-
'RS737783818NL',
|
|
19
|
-
])('isPostalCode() - Números válidos', (item) => {
|
|
20
|
-
|
|
21
|
-
expect(isPostalCode(item)).toBeTruthy();
|
|
22
|
-
expect(_postalCode.validate(item)).toBeTruthy();
|
|
23
|
-
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
test.each([
|
|
27
|
-
'PN718252423BR',
|
|
28
|
-
'PO925539762BR',
|
|
29
|
-
'JT194690698BR',
|
|
30
|
-
'SV143851674BR',
|
|
31
|
-
'RG727348650CN',
|
|
32
|
-
'RY747622885CN',
|
|
33
|
-
'RY728187035CN',
|
|
34
|
-
'RH940629235CN',
|
|
35
|
-
'RY686586175CN',
|
|
36
|
-
'RY648001205CN',
|
|
37
|
-
'UJ776469464CN',
|
|
38
|
-
'LZ667841882CN',
|
|
39
|
-
'RS737783818NL',
|
|
40
|
-
])('validate() - Números válidos', (item) => {
|
|
41
|
-
|
|
42
|
-
expect(validate(item)).toBeTruthy();
|
|
43
|
-
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
test.each([
|
|
47
|
-
'PO925524762BR',
|
|
48
|
-
'JT194624698BR',
|
|
49
|
-
'SV143824674BR',
|
|
50
|
-
'RG727324650CN',
|
|
51
|
-
'RY747624885CN',
|
|
52
|
-
'RY728114035CN',
|
|
53
|
-
])('validate() - Números inválidos', (item) => {
|
|
54
|
-
expect(validate(item)).toBeFalsy();
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
test.each([
|
|
58
|
-
'PO925524762BR',
|
|
59
|
-
'JT194624698BR',
|
|
60
|
-
'SV143824674BR',
|
|
61
|
-
'RG727324650CN',
|
|
62
|
-
'RY747624885CN',
|
|
63
|
-
'RY728114035CN',
|
|
64
|
-
])('validateOrFail() - Números inválidos', (item) => {
|
|
65
|
-
expect(() => validateOrFail(item)).toThrow();
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
test('Parâmetro não informado', () => {
|
|
69
|
-
expect(isPostalCode('')).toBeFalsy();
|
|
70
|
-
expect(validate('')).toBeFalsy();
|
|
71
|
-
expect(() => validateOrFail('')).toThrow();
|
|
72
|
-
expect(() => dv('')).toThrow();
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
test.each([...Array(5)])('fake() - Gera fakes corretamente', () => {
|
|
76
|
-
const postalCode = fake();
|
|
77
|
-
|
|
78
|
-
expect(validate(postalCode)).toBeTruthy();
|
|
79
|
-
expect(postalCode).toHaveLength(13);
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
test.each([
|
|
83
|
-
{ value: 'PN718252423BR', expected: '3' },
|
|
84
|
-
{ value: 'PO925539762BR', expected: '2' },
|
|
85
|
-
{ value: 'JT194690698BR', expected: '8' },
|
|
86
|
-
])('dv() - Verificando se o DV gerado está correto', (item) => {
|
|
87
|
-
const calcDv = dv(item.value);
|
|
88
|
-
|
|
89
|
-
expect(calcDv).toBe(item.expected);
|
|
90
|
-
expect(typeof calcDv).toBe('string');
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
test.each([
|
|
94
|
-
{ value: 'pn718252423br', expected: 'PN718252423BR' },
|
|
95
|
-
{ value: 'po925539762br', expected: 'PO925539762BR' },
|
|
96
|
-
{ value: 'jt194690698br', expected: 'JT194690698BR' },
|
|
97
|
-
])('normalize() - Deve normalizar o valor inicial corretamente', (item) => {
|
|
98
|
-
const normalized = normalize(item.value);
|
|
99
|
-
|
|
100
|
-
expect(normalized).toBe(item.expected);
|
|
101
|
-
expect(normalized).toHaveLength(13);
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
test.each([
|
|
105
|
-
{ value: 'pn718252423br', expected: 'PN718252423BR' },
|
|
106
|
-
{ value: 'po925539762br', expected: 'PO925539762BR' },
|
|
107
|
-
{ value: 'jt194690698br', expected: 'JT194690698BR' },
|
|
108
|
-
])('mask() - Deve normalizar o valor inicial corretamente', (item) => {
|
|
109
|
-
const masked = mask(item.value);
|
|
110
|
-
|
|
111
|
-
expect(masked).toBe(item.expected);
|
|
112
|
-
expect(masked).toHaveLength(13);
|
|
113
|
-
});
|
|
114
|
-
});
|
package/test/renavam.test.ts
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import isRenavam, { dv, fake, mask, normalize, validate, validateOrFail } from '../src/renavam';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
describe('Renavam', () => {
|
|
5
|
-
test.each([
|
|
6
|
-
// valores com máscara
|
|
7
|
-
'1952519770-3',
|
|
8
|
-
'3394038959-9',
|
|
9
|
-
// valores como inteiros
|
|
10
|
-
3607626105,
|
|
11
|
-
64090416160,
|
|
12
|
-
// valores como string sem máscara
|
|
13
|
-
'80499688374',
|
|
14
|
-
'40650543741',
|
|
15
|
-
])('isRenavam() - %s deve ser um renavam válido', (renavam) => {
|
|
16
|
-
expect(isRenavam(renavam)).toBeTruthy();
|
|
17
|
-
expect(validate(renavam)).toBeTruthy();
|
|
18
|
-
expect(validateOrFail(renavam)).toBeTruthy();
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
test.each(['19525227703', '33940229599', '03607226105', '64090226160', '80499228374'])(
|
|
22
|
-
'validate() - Números inválidos',
|
|
23
|
-
(renavam) => {
|
|
24
|
-
expect(validate(renavam)).toBeFalsy();
|
|
25
|
-
expect(() => validateOrFail(renavam)).toThrow();
|
|
26
|
-
},
|
|
27
|
-
);
|
|
28
|
-
|
|
29
|
-
test('Parâmetro não informado', () => {
|
|
30
|
-
expect(isRenavam('')).toBeFalsy();
|
|
31
|
-
expect(validate('')).toBeFalsy();
|
|
32
|
-
expect(() => validateOrFail('')).toThrow();
|
|
33
|
-
expect(() => dv('')).toThrow();
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
test.each([...Array(5)])('fake() - Gera fakes sem máscara', () => {
|
|
37
|
-
const renavam = fake();
|
|
38
|
-
expect(validate(renavam)).toBeTruthy();
|
|
39
|
-
expect(renavam).toHaveLength(11);
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
test.each([...Array(5)])('fake() - Gera fakes com máscara', () => {
|
|
43
|
-
const renavam = fake(true);
|
|
44
|
-
expect(validate(renavam)).toBeTruthy();
|
|
45
|
-
expect(renavam).toHaveLength(12);
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
test.each([
|
|
49
|
-
{ value: '1952519770', expected: '3' },
|
|
50
|
-
{ value: 952519770, expected: '6' },
|
|
51
|
-
{ value: 52519770, expected: '2' },
|
|
52
|
-
])('renavam.dv() - Verificando se o DV gerado está correto', (item) => {
|
|
53
|
-
const calcDv = dv(item.value);
|
|
54
|
-
expect(calcDv).toBe(item.expected);
|
|
55
|
-
expect(typeof calcDv).toBe('string');
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
test.each([
|
|
59
|
-
{ value: '19525197703', expected: '1952519770-3' },
|
|
60
|
-
{ value: 9525197703, expected: '0952519770-3' },
|
|
61
|
-
{ value: 525197703, expected: '0052519770-3' },
|
|
62
|
-
])('mask() - Testando se a máscara foi gerada corretamente', (item) => {
|
|
63
|
-
const masked = mask(item.value);
|
|
64
|
-
expect(masked).toBe(item.expected);
|
|
65
|
-
expect(masked).toHaveLength(12);
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
test.each([
|
|
69
|
-
{ value: '1952519770-3', expected: '19525197703', },
|
|
70
|
-
{ value: '0952519770-3', expected: '09525197703', },
|
|
71
|
-
{ value: '0052519770-3', expected: '00525197703', },
|
|
72
|
-
])('normalize() - Deve remover a máscara corretamente', (item) => {
|
|
73
|
-
const normalized = normalize(item.value);
|
|
74
|
-
expect(normalized).toBe(item.expected);
|
|
75
|
-
expect(normalized).toHaveLength(11);
|
|
76
|
-
});
|
|
77
|
-
});
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import isTituloEleitor, { dv, fake, mask, normalize, validate, validateOrFail } from '../src/tituloEleitor';
|
|
2
|
-
|
|
3
|
-
describe('TituloEleitor', () => {
|
|
4
|
-
test.each([
|
|
5
|
-
// masked
|
|
6
|
-
'1023.8501.0671',
|
|
7
|
-
'8365 7137 1619',
|
|
8
|
-
// string
|
|
9
|
-
'153036161686',
|
|
10
|
-
'525028881694',
|
|
11
|
-
// integer
|
|
12
|
-
13132331643,
|
|
13
|
-
1122221333,
|
|
14
|
-
])('isTituloEleitor() - Números válidos', (item) => {
|
|
15
|
-
expect(isTituloEleitor(item)).toBeTruthy();
|
|
16
|
-
expect(validate(item)).toBeTruthy();
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
test('Deve rejeitar quando a UF for maior que 28', () => {
|
|
20
|
-
const titulo = '1122 3344 2992';
|
|
21
|
-
expect(validate(titulo)).toBeFalsy();
|
|
22
|
-
// expect(() => validateOrFail(titulo)).toThrow()
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
test.each([
|
|
26
|
-
'836531371619',
|
|
27
|
-
'743620641660',
|
|
28
|
-
'153016161686',
|
|
29
|
-
'525078881694',
|
|
30
|
-
'026367681660',
|
|
31
|
-
'558647441635',
|
|
32
|
-
'222222222222',
|
|
33
|
-
])('validate() - Números inválidos', (item) => {
|
|
34
|
-
expect(validate(item)).toBeFalsy();
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
test.each([
|
|
38
|
-
'836531371619',
|
|
39
|
-
'743620641660',
|
|
40
|
-
'153016161686',
|
|
41
|
-
'525078881694',
|
|
42
|
-
'026367681660',
|
|
43
|
-
'558647441635',
|
|
44
|
-
'222222222222',
|
|
45
|
-
])('validateOrFail() - Números inválidos', (item) => {
|
|
46
|
-
expect(() => validateOrFail(item)).toThrow();
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
test('Parâmetro não informado', () => {
|
|
50
|
-
expect(isTituloEleitor('')).toBeFalsy();
|
|
51
|
-
expect(validate('')).toBeFalsy();
|
|
52
|
-
expect(() => validateOrFail('')).toThrow();
|
|
53
|
-
expect(() => dv('')).toThrow();
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
test.each([...Array(5)])('fake() - Gera fakes sem máscara', () => {
|
|
57
|
-
const tituloEleitor = fake();
|
|
58
|
-
|
|
59
|
-
expect(validate(tituloEleitor)).toBeTruthy();
|
|
60
|
-
expect(tituloEleitor).toHaveLength(12);
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
test.each([...Array(5)])('fake() - Gera fakes com máscara', () => {
|
|
64
|
-
const tituloEleitor = fake(true);
|
|
65
|
-
|
|
66
|
-
expect(validate(tituloEleitor)).toBeTruthy();
|
|
67
|
-
expect(tituloEleitor).toHaveLength(14);
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
test.each([
|
|
71
|
-
{ value: '1023850106', expected: '71' },
|
|
72
|
-
{ value: '8365713716', expected: '19' },
|
|
73
|
-
{ value: '7436506416', expected: '60' },
|
|
74
|
-
{ value: '0011222213', expected: '33' },
|
|
75
|
-
])('dv() - Verificando se o DV gerado está correto', (item) => {
|
|
76
|
-
const calcDv = dv(item.value);
|
|
77
|
-
|
|
78
|
-
expect(calcDv).toBe(item.expected);
|
|
79
|
-
expect(typeof calcDv).toBe('string');
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
test.each([
|
|
83
|
-
{ value: '102385010671', expected: '1023.8501.0671' },
|
|
84
|
-
{ value: '836571371619', expected: '8365.7137.1619' },
|
|
85
|
-
{ value: '743650641660', expected: '7436.5064.1660' },
|
|
86
|
-
{ value: 11122223360, expected: '0111.2222.3360' },
|
|
87
|
-
{ value: 1122223336, expected: '0011.2222.3336' },
|
|
88
|
-
]
|
|
89
|
-
|
|
90
|
-
)('mask() - Testando se a máscara foi gerada corretamente', (item) => {
|
|
91
|
-
const masked = mask(item.value);
|
|
92
|
-
|
|
93
|
-
expect(masked).toBe(item.expected);
|
|
94
|
-
expect(masked).toHaveLength(14);
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
test.each([
|
|
98
|
-
{ value: '1023.8501.0671', expected: '102385010671', },
|
|
99
|
-
{ value: '8365.7137.1619', expected: '836571371619', },
|
|
100
|
-
{ value: '7436.5064.1660', expected: '743650641660', },
|
|
101
|
-
{ value: '0111.2222.3360', expected: '011122223360', },
|
|
102
|
-
{ value: '0011.2222.3336', expected: '001122223336', },
|
|
103
|
-
]
|
|
104
|
-
)('normalize() - Deve remover a máscara corretamente', (item) => {
|
|
105
|
-
const normalized = normalize(item.value);
|
|
106
|
-
|
|
107
|
-
expect(normalized).toBe(item.expected);
|
|
108
|
-
expect(normalized).toHaveLength(12);
|
|
109
|
-
});
|
|
110
|
-
});
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { applyMask } from '../src/utils';
|
|
2
|
-
|
|
3
|
-
describe('applyMask()', () => {
|
|
4
|
-
test.each([
|
|
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
|
-
])('Máscara deve ser aplicada com o valor e tamanho correto', (item) => {
|
|
10
|
-
expect(item.expected.length).toBe(item.mask.length);
|
|
11
|
-
expect(applyMask(item.value, item.mask)).toBe(item.expected);
|
|
12
|
-
});
|
|
13
|
-
});
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { checkRepeatedSequence } from "../src/utils";
|
|
2
|
-
|
|
3
|
-
test.each([
|
|
4
|
-
'11111111',
|
|
5
|
-
'1111',
|
|
6
|
-
])('testa se %s tem todos os valores iguais', (value) => {
|
|
7
|
-
expect(checkRepeatedSequence(value)).toBeTruthy();
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
test.each([
|
|
11
|
-
'12345678',
|
|
12
|
-
'11111112',
|
|
13
|
-
'1234',
|
|
14
|
-
'2111',
|
|
15
|
-
])('testa se %s não tem todos os valores iguais', (value) => {
|
|
16
|
-
expect(checkRepeatedSequence(value)).toBeFalsy();
|
|
17
|
-
});
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { clearValue } from '../src/utils';
|
|
2
|
-
|
|
3
|
-
describe('clearValue()', () => {
|
|
4
|
-
test.each([
|
|
5
|
-
{ value: 1234567890, size: 10, expected: '1234567890' },
|
|
6
|
-
{ value: '1234567890', size: 10, expected: '1234567890' },
|
|
7
|
-
{ value: '12.345.678-90', size: 10, expected: '1234567890' },
|
|
8
|
-
{ value: '1234 5678 9012', size: 10, expected: '123456789012' },
|
|
9
|
-
]
|
|
10
|
-
)('Deve limpar o valor - Strings do Mesmo tamanho', (item) => {
|
|
11
|
-
expect(clearValue(item.value, item.size)).toBe(item.expected);
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
test.each([
|
|
15
|
-
{ value: 1234567890123, size: null, expected: '1234567890123' },
|
|
16
|
-
{ value: '4567890', size: null, expected: '4567890' },
|
|
17
|
-
{ value: '345.678-90', size: null, expected: '34567890' },
|
|
18
|
-
])('Deve limpar os caracteres não numéricos sem verificar o tamanho da string', (item) => {
|
|
19
|
-
expect(clearValue(item.value, item.size)).toBe(item.expected);
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
test.each([
|
|
23
|
-
{ value: 1234, size: 10, expected: '0000001234' },
|
|
24
|
-
{ value: '1234', size: 10, expected: '0000001234' },
|
|
25
|
-
{ value: '123-4', size: 10, expected: '0000001234' },
|
|
26
|
-
])('Deve limpar o valor os caracteres não numéricos e completar com zeros à esquerda', (item) => {
|
|
27
|
-
expect(clearValue(item.value, item.size, { fillZerosAtLeft: true })).toBe(item.expected);
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
// Não completa com zeros
|
|
31
|
-
expect(clearValue(1234, 6, { fillZerosAtLeft: false })).toBe('1234');
|
|
32
|
-
expect(clearValue('1234', 6, { fillZerosAtLeft: false })).toBe('1234');
|
|
33
|
-
|
|
34
|
-
test.each([
|
|
35
|
-
{ value: 123456789, size: 4, expected: '1234' },
|
|
36
|
-
{ value: '1234567890', size: 4, expected: '1234' },
|
|
37
|
-
{ value: '12.345.678-90', size: 4, expected: '1234' },
|
|
38
|
-
])('Deve limpar o valor os caracteres não numéricos e remover os caracteres que passarem de size', (item) => {
|
|
39
|
-
expect(clearValue(item.value, item.size, { trimAtRight: true })).toBe(item.expected);
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
// Não corta à direita
|
|
43
|
-
expect(clearValue(12345678, 6, { trimAtRight: false })).toBe('12345678');
|
|
44
|
-
expect(clearValue('12345678', 6, { trimAtRight: false })).toBe('12345678');
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
test('Deve retornar erro se receber um valor vazio', () => {
|
|
49
|
-
expect(clearValue('1112', 4, { rejectEmpty: true })).toBe('1112');
|
|
50
|
-
expect(() => clearValue('', null, { rejectEmpty: true })).toThrow();
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
test('Deve retornar erro se receber uma sequência de números iguais', () => {
|
|
54
|
-
expect(clearValue('1112', 4, { rejectEqualSequence: true })).toBe('1112');
|
|
55
|
-
expect(() => clearValue('1111', 4, { rejectEqualSequence: true })).toThrow();
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
test('Deve retornar erro se receber um valor com mais caracteres que o máximo', () => {
|
|
59
|
-
expect(clearValue('1234', 4, { rejectHigherLength: true })).toBe('1234');
|
|
60
|
-
expect(() => clearValue('12345', 4, { rejectHigherLength: true })).toThrow();
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
test('Deve retornar o mesmo valor inicial', () => {
|
|
64
|
-
expect(clearValue(1234, 4)).toBe('1234');
|
|
65
|
-
expect(clearValue('1234', 4)).toBe('1234');
|
|
66
|
-
expect(clearValue(1234, 4, {})).toBe('1234');
|
|
67
|
-
expect(clearValue('1234', 4, {})).toBe('1234');
|
|
68
|
-
});
|
|
69
|
-
});
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { fakeNumber } from '../src/utils';
|
|
2
|
-
|
|
3
|
-
describe('fakeNumber()', () => {
|
|
4
|
-
test.each([...Array(10)])('forceLength = true', () => {
|
|
5
|
-
const num = fakeNumber(4, true);
|
|
6
|
-
|
|
7
|
-
expect(num).toHaveLength(4);
|
|
8
|
-
expect(typeof num).toBe('string');
|
|
9
|
-
expect(num).toMatch(/^[\d]+$/);
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
test.each([...Array(10)])('forceLength = false', () => {
|
|
13
|
-
const num = fakeNumber(4);
|
|
14
|
-
|
|
15
|
-
expect(+num).toBeLessThanOrEqual(9999);
|
|
16
|
-
expect(+num).toBeGreaterThanOrEqual(0);
|
|
17
|
-
expect(typeof num).toBe('string');
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
test.each([...Array(10)])('isAlpha = true', () => {
|
|
22
|
-
const num = fakeNumber(4, true, true);
|
|
23
|
-
|
|
24
|
-
expect(num).toHaveLength(4);
|
|
25
|
-
expect(typeof num).toBe('string');
|
|
26
|
-
expect(num).toMatch(/^[0-9A-Z]+$/);
|
|
27
|
-
});
|
|
28
|
-
});
|