validation-br 2.0.0-next-2 → 2.0.0-next-4
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/.vscode/settings.json +5 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -1
- package/todo.md +2 -1
- package/dist/test/_helpers/crc.spec.d.ts +0 -2
- package/dist/test/_helpers/crc.spec.d.ts.map +0 -1
- package/dist/test/_helpers/crc.spec.js +0 -11
- package/dist/test/_helpers/crc.spec.js.map +0 -1
- package/dist/test/carplate.spec.d.ts +0 -2
- package/dist/test/carplate.spec.d.ts.map +0 -1
- package/dist/test/carplate.spec.js +0 -81
- package/dist/test/carplate.spec.js.map +0 -1
- package/dist/test/cep.spec.d.ts +0 -2
- package/dist/test/cep.spec.d.ts.map +0 -1
- package/dist/test/cep.spec.js +0 -95
- package/dist/test/cep.spec.js.map +0 -1
- package/dist/test/cnh.spec.d.ts +0 -2
- package/dist/test/cnh.spec.d.ts.map +0 -1
- package/dist/test/cnh.spec.js +0 -55
- package/dist/test/cnh.spec.js.map +0 -1
- package/dist/test/cnpj.spec.d.ts +0 -2
- package/dist/test/cnpj.spec.d.ts.map +0 -1
- package/dist/test/cnpj.spec.js +0 -105
- package/dist/test/cnpj.spec.js.map +0 -1
- package/dist/test/cpf.spec.d.ts +0 -2
- package/dist/test/cpf.spec.d.ts.map +0 -1
- package/dist/test/cpf.spec.js +0 -66
- package/dist/test/cpf.spec.js.map +0 -1
- package/dist/test/index.test.d.ts +0 -2
- package/dist/test/index.test.d.ts.map +0 -1
- package/dist/test/index.test.js +0 -77
- package/dist/test/index.test.js.map +0 -1
- package/dist/test/judicial-process.spec.d.ts +0 -2
- package/dist/test/judicial-process.spec.d.ts.map +0 -1
- package/dist/test/judicial-process.spec.js +0 -101
- package/dist/test/judicial-process.spec.js.map +0 -1
- package/dist/test/nup17.spec.d.ts +0 -2
- package/dist/test/nup17.spec.d.ts.map +0 -1
- package/dist/test/nup17.spec.js +0 -70
- package/dist/test/nup17.spec.js.map +0 -1
- package/dist/test/phone.spec.d.ts +0 -2
- package/dist/test/phone.spec.d.ts.map +0 -1
- package/dist/test/phone.spec.js +0 -79
- package/dist/test/phone.spec.js.map +0 -1
- package/dist/test/pis-pasep.spec.d.ts +0 -2
- package/dist/test/pis-pasep.spec.d.ts.map +0 -1
- package/dist/test/pis-pasep.spec.js +0 -65
- package/dist/test/pis-pasep.spec.js.map +0 -1
- package/dist/test/pix-copy-paste.spec.d.ts +0 -2
- package/dist/test/pix-copy-paste.spec.d.ts.map +0 -1
- package/dist/test/pix-copy-paste.spec.js +0 -31
- package/dist/test/pix-copy-paste.spec.js.map +0 -1
- package/dist/test/pix-key.spec.d.ts +0 -2
- package/dist/test/pix-key.spec.d.ts.map +0 -1
- package/dist/test/pix-key.spec.js +0 -36
- package/dist/test/pix-key.spec.js.map +0 -1
- package/dist/test/postal-track-code.test.d.ts +0 -2
- package/dist/test/postal-track-code.test.d.ts.map +0 -1
- package/dist/test/postal-track-code.test.js +0 -75
- package/dist/test/postal-track-code.test.js.map +0 -1
- package/dist/test/renavam.spec.d.ts +0 -2
- package/dist/test/renavam.spec.d.ts.map +0 -1
- package/dist/test/renavam.spec.js +0 -63
- package/dist/test/renavam.spec.js.map +0 -1
- package/dist/test/tituloEleitor.spec.d.ts +0 -2
- package/dist/test/tituloEleitor.spec.d.ts.map +0 -1
- package/dist/test/tituloEleitor.spec.js +0 -68
- package/dist/test/tituloEleitor.spec.js.map +0 -1
- package/dist/test/utils-checkRepeatedSequence.test.d.ts +0 -2
- package/dist/test/utils-checkRepeatedSequence.test.d.ts.map +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 -2
- package/dist/test/utils-clearValue.test.d.ts.map +0 -1
- package/dist/test/utils-clearValue.test.js +0 -74
- package/dist/test/utils-clearValue.test.js.map +0 -1
- package/dist/test/utils-insertAtPosition.test.d.ts +0 -2
- package/dist/test/utils-insertAtPosition.test.d.ts.map +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-removeFromPosition.test.d.ts +0 -2
- package/dist/test/utils-removeFromPosition.test.d.ts.map +0 -1
- package/dist/test/utils-removeFromPosition.test.js +0 -16
- package/dist/test/utils-removeFromPosition.test.js.map +0 -1
- package/dist/test/utils-sumElementsByMultipliers.test.d.ts +0 -2
- package/dist/test/utils-sumElementsByMultipliers.test.d.ts.map +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 -2
- package/dist/test/utils-sumToDV.test.d.ts.map +0 -1
- package/dist/test/utils-sumToDV.test.js +0 -17
- package/dist/test/utils-sumToDV.test.js.map +0 -1
- package/test/_helpers/crc.spec.ts +0 -13
- package/test/carplate.spec.ts +0 -85
- package/test/cep.spec.ts +0 -127
- package/test/cnh.spec.ts +0 -67
- package/test/cnpj.spec.ts +0 -127
- package/test/cpf.spec.ts +0 -76
- package/test/index.test.ts +0 -112
- package/test/judicial-process.spec.ts +0 -131
- package/test/nup17.spec.ts +0 -79
- package/test/phone.spec.ts +0 -87
- package/test/pis-pasep.spec.ts +0 -73
- package/test/pix-copy-paste.spec.ts +0 -37
- package/test/pix-key.spec.ts +0 -41
- package/test/postal-track-code.test.ts +0 -83
- package/test/renavam.spec.ts +0 -71
- package/test/tituloEleitor.spec.ts +0 -72
- package/test/utils-checkRepeatedSequence.test.ts +0 -17
- package/test/utils-clearValue.test.ts +0 -85
- package/test/utils-insertAtPosition.test.ts +0 -15
- package/test/utils-removeFromPosition.test.ts +0 -15
- package/test/utils-sumElementsByMultipliers.test.ts +0 -24
- package/test/utils-sumToDV.test.ts +0 -16
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { JudicialProcess } from '../src/judicial-process';
|
|
2
|
-
|
|
3
|
-
describe('JudicialProcess', () => {
|
|
4
|
-
describe('constructor', () => {
|
|
5
|
-
test.each([
|
|
6
|
-
'6105283-83.2009.8.13.0024',
|
|
7
|
-
'00110060720168200100',
|
|
8
|
-
'08002785520134058400',
|
|
9
|
-
'08002732820164058400',
|
|
10
|
-
])('deve estar definido', (input) => {
|
|
11
|
-
// console.log(new JudicialProcess(input));
|
|
12
|
-
|
|
13
|
-
expect(new JudicialProcess(input)).toBeDefined();
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
test.each([
|
|
17
|
-
'0110060720168200100',
|
|
18
|
-
'61052838320098130023',
|
|
19
|
-
'00110060720168200102',
|
|
20
|
-
'08002785520134058401',
|
|
21
|
-
'08002732820164058406',
|
|
22
|
-
'08002732820160058400', // Órgão judiciário igual a 0
|
|
23
|
-
'', // vazio
|
|
24
|
-
'008002732820160058400', // caracteres a mais
|
|
25
|
-
'8002732820160058400', // caracteres a menos
|
|
26
|
-
null,
|
|
27
|
-
undefined,
|
|
28
|
-
])('deve lançar erro %s', (input) => {
|
|
29
|
-
expect(() => new JudicialProcess(input as any)).toThrow();
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
describe('mask', () => {
|
|
34
|
-
test.each([
|
|
35
|
-
{ num: '00020802520125150049', expected: '0002080-25.2012.5.15.0049' },
|
|
36
|
-
{ num: '61052838320098130024', expected: '6105283-83.2009.8.13.0024' },
|
|
37
|
-
{ num: '00110060720168200100', expected: '0011006-07.2016.8.20.0100' },
|
|
38
|
-
{ num: '08002785520134058400', expected: '0800278-55.2013.4.05.8400' },
|
|
39
|
-
{ num: '08002732820164058400', expected: '0800273-28.2016.4.05.8400' },
|
|
40
|
-
])('mask() - Testando se a máscara foi gerada corretamente', (item) => {
|
|
41
|
-
const masked = new JudicialProcess(item.num).mask();
|
|
42
|
-
|
|
43
|
-
expect(masked).toBe(item.expected);
|
|
44
|
-
expect(masked).toMatch(/^\d{7}-\d{2}.\d{4}.\d.\d{2}.\d{4}$/);
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
describe('fake()', () => {
|
|
49
|
-
test.each([...Array(5)])('Deve gerar um fake válido', () => {
|
|
50
|
-
const result = JudicialProcess.fake();
|
|
51
|
-
expect(result).toBeDefined();
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
test.each([...Array(5)])(
|
|
55
|
-
'Deve gerar um fake válido com o órgão definido',
|
|
56
|
-
() => {
|
|
57
|
-
const result = JudicialProcess.fake({ court: '3' });
|
|
58
|
-
expect(result).toBeDefined();
|
|
59
|
-
expect(result.court).toBe('3');
|
|
60
|
-
}
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
test.each([...Array(5)])(
|
|
64
|
-
'Deve gerar um fake válido com o tribunal definido',
|
|
65
|
-
() => {
|
|
66
|
-
const result = JudicialProcess.fake({ subCourt: '13' });
|
|
67
|
-
expect(result).toBeDefined();
|
|
68
|
-
expect(result.subCourt).toBe('13');
|
|
69
|
-
}
|
|
70
|
-
);
|
|
71
|
-
|
|
72
|
-
test.each([...Array(5)])(
|
|
73
|
-
'Deve gerar um fake válido com o ano definido',
|
|
74
|
-
() => {
|
|
75
|
-
const result = JudicialProcess.fake({ year: '2024' });
|
|
76
|
-
expect(result).toBeDefined();
|
|
77
|
-
expect(result.year).toBe('2024');
|
|
78
|
-
}
|
|
79
|
-
);
|
|
80
|
-
|
|
81
|
-
test.each([...Array(5)])(
|
|
82
|
-
'Deve gerar um fake válido com a unidade de origem definida',
|
|
83
|
-
() => {
|
|
84
|
-
const result = JudicialProcess.fake({ origin: '1313' });
|
|
85
|
-
expect(result).toBeDefined();
|
|
86
|
-
expect(result.origin).toBe('1313');
|
|
87
|
-
}
|
|
88
|
-
);
|
|
89
|
-
|
|
90
|
-
test.each([
|
|
91
|
-
{ court: '0' },
|
|
92
|
-
{ court: '11' },
|
|
93
|
-
{ subCourt: '1' },
|
|
94
|
-
{ subCourt: '00' },
|
|
95
|
-
{ subCourt: '111' },
|
|
96
|
-
{ year: '111' },
|
|
97
|
-
{ year: '11111' },
|
|
98
|
-
{ origin: '0000' },
|
|
99
|
-
{ origin: '111' },
|
|
100
|
-
{ origin: '11111' },
|
|
101
|
-
])(
|
|
102
|
-
'Deve lançar erro quando tenta criar fake com valores pré-definidos inválidos %s',
|
|
103
|
-
(input) => {
|
|
104
|
-
expect(() => JudicialProcess.fake(input)).toThrow();
|
|
105
|
-
}
|
|
106
|
-
);
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
describe('checksum', () => {
|
|
110
|
-
test.each([
|
|
111
|
-
{ num: '000208020125150049', expected: '25' },
|
|
112
|
-
{ num: '610528320098130024', expected: '83' },
|
|
113
|
-
{ num: '001100620168200100', expected: '07' },
|
|
114
|
-
{ num: '080027820134058400', expected: '55' },
|
|
115
|
-
{ num: '080027320164058400', expected: '28' },
|
|
116
|
-
])('dv() - Verificando se o DV gerado está correto', (item) => {
|
|
117
|
-
const calcDv = JudicialProcess.checksum(item.num);
|
|
118
|
-
|
|
119
|
-
expect(calcDv).toBe(item.expected);
|
|
120
|
-
expect(typeof calcDv).toBe('string');
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
test.each(['0002080201251500499', '00020802012515004', ''])(
|
|
125
|
-
'deve lançar erro de dv',
|
|
126
|
-
(item) => {
|
|
127
|
-
expect(() => JudicialProcess.checksum(item)).toThrow();
|
|
128
|
-
}
|
|
129
|
-
);
|
|
130
|
-
});
|
|
131
|
-
});
|
package/test/nup17.spec.ts
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { NUP17 } from '../src/nup17';
|
|
2
|
-
|
|
3
|
-
describe('NUP17', () => {
|
|
4
|
-
describe('constructor', () => {
|
|
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
|
-
])('%s deve ser definido', (input) => {
|
|
15
|
-
expect(new NUP17(input)).toBeDefined();
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
test.each([
|
|
19
|
-
'23037001380202112',
|
|
20
|
-
'23037001434202142',
|
|
21
|
-
'23037001462202162',
|
|
22
|
-
'23037001537202112',
|
|
23
|
-
'', // vazio
|
|
24
|
-
'023037001537202112', // caracteres a mais
|
|
25
|
-
'3037001537202112', // caracteres a menos
|
|
26
|
-
null,
|
|
27
|
-
undefined,
|
|
28
|
-
])('%s deve lançar erro', (input) => {
|
|
29
|
-
expect(() => new NUP17(input as any)).toThrow();
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
describe('mask', () => {
|
|
34
|
-
test.each([
|
|
35
|
-
{ num: '23037001380202111', expected: '23037.001380/2021-11' },
|
|
36
|
-
{ num: '23037001434202148', expected: '23037.001434/2021-48' },
|
|
37
|
-
{ num: '23037001321202142', expected: '23037.001321/2021-42' },
|
|
38
|
-
{ num: '23037001462202165', expected: '23037.001462/2021-65' },
|
|
39
|
-
{ num: '23037001537202116', expected: '23037.001537/2021-16' },
|
|
40
|
-
{ num: '23037001086202117', expected: '23037.001086/2021-17' },
|
|
41
|
-
])('mask() - Testando se a máscara foi gerada corretamente', (item) => {
|
|
42
|
-
const masked = new NUP17(item.num).mask();
|
|
43
|
-
|
|
44
|
-
expect(masked).toBe(item.expected);
|
|
45
|
-
expect(masked).toMatch(/^\d{5}\.\d{6}\/\d{4}-\d{2}$/);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
describe('fake', () => {
|
|
50
|
-
test.each([...Array(5)])('Deve gerar fake válido', () => {
|
|
51
|
-
const result = NUP17.fake();
|
|
52
|
-
expect(result).toBeDefined();
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
describe('checksum', () => {
|
|
57
|
-
test.each([
|
|
58
|
-
{ num: '230370013802021', expected: '11' },
|
|
59
|
-
{ num: '230370014342021', expected: '48' },
|
|
60
|
-
{ num: '230370013212021', expected: '42' },
|
|
61
|
-
{ num: '230370014622021', expected: '65' },
|
|
62
|
-
{ num: '230370015372021', expected: '16' },
|
|
63
|
-
{ num: '230370010862021', expected: '17' },
|
|
64
|
-
])('dv() - Verificando se o DV gerado está correto', (item) => {
|
|
65
|
-
const calcDv = NUP17.checksum(item.num);
|
|
66
|
-
|
|
67
|
-
expect(calcDv).toBe(item.expected);
|
|
68
|
-
expect(typeof calcDv).toBe('string');
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
test.each(['23037001462202', '2303700146220211', ''])(
|
|
73
|
-
'deve lançar erro de dv',
|
|
74
|
-
(item) => {
|
|
75
|
-
expect(() => NUP17.checksum(item)).toThrow();
|
|
76
|
-
}
|
|
77
|
-
);
|
|
78
|
-
});
|
|
79
|
-
});
|
package/test/phone.spec.ts
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { Phone } from '../src/phone';
|
|
2
|
-
|
|
3
|
-
const cellPhones = [
|
|
4
|
-
'+5584999580685',
|
|
5
|
-
'+55 84 9 9958 0685',
|
|
6
|
-
'+55 (84) 9 9958-0685',
|
|
7
|
-
'+55 (84) 99958-0685',
|
|
8
|
-
'84 99958-0685',
|
|
9
|
-
];
|
|
10
|
-
const phones = [
|
|
11
|
-
'+558433311454',
|
|
12
|
-
'84 3331-1454',
|
|
13
|
-
'84 3331 1454',
|
|
14
|
-
'(84) 3331 1454',
|
|
15
|
-
'84-3331-1454',
|
|
16
|
-
];
|
|
17
|
-
|
|
18
|
-
describe('Phone', () => {
|
|
19
|
-
describe('constructor', () => {
|
|
20
|
-
test.each(cellPhones)('Celular %s deve estar definido', (value) => {
|
|
21
|
-
const obj = new Phone(value);
|
|
22
|
-
expect(obj.value).toBe('+5584999580685');
|
|
23
|
-
expect(obj.ddi).toBe('+55');
|
|
24
|
-
expect(obj.ddd).toBe('84');
|
|
25
|
-
expect(obj.phone).toBe('999580685');
|
|
26
|
-
expect(obj.isMobile).toBeTruthy();
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
test.each(phones)('Telefone fixo %s deve estar definido', (value) => {
|
|
30
|
-
const obj = new Phone(value);
|
|
31
|
-
expect(obj.value).toBe('+558433311454');
|
|
32
|
-
expect(obj.ddi).toBe('+55');
|
|
33
|
-
expect(obj.ddd).toBe('84');
|
|
34
|
-
expect(obj.phone).toBe('33311454');
|
|
35
|
-
expect(obj.isMobile).toBeFalsy;
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
describe('fake', () => {
|
|
40
|
-
test.each([...Array(5)])('Cria um fake', () => {
|
|
41
|
-
const fake = Phone.fake();
|
|
42
|
-
expect(fake).toBeDefined();
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
test.each([...Array(50)])('Cria um fake com DDD 11', () => {
|
|
46
|
-
const fake = Phone.fake({ ddd: '11' });
|
|
47
|
-
expect(fake).toBeDefined();
|
|
48
|
-
expect(fake.ddd).toBe('11');
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
test.each([...Array(5)])('Cria um fake com isMobile=true', () => {
|
|
52
|
-
const fake = Phone.fake({ isMobile: true });
|
|
53
|
-
expect(fake).toBeDefined();
|
|
54
|
-
expect(fake.isMobile).toBeTruthy();
|
|
55
|
-
expect(fake.phone.length).toBe(9);
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
test.each([...Array(5)])('Cria um fake com isLandline=true', () => {
|
|
59
|
-
const fake = Phone.fake({ isLandline: true });
|
|
60
|
-
expect(fake).toBeDefined();
|
|
61
|
-
expect(fake.isMobile).toBeFalsy();
|
|
62
|
-
expect(fake.phone.length).toBe(8);
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
describe('mask', () => {
|
|
67
|
-
test.each(cellPhones)('Máscara de celular sem país', (input) => {
|
|
68
|
-
const phone = new Phone(input);
|
|
69
|
-
expect(phone.mask({ withCountry: false })).toBe('84 999580685');
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
test.each(cellPhones)('Máscara de celular com país', (input) => {
|
|
73
|
-
const phone = new Phone(input);
|
|
74
|
-
expect(phone.mask({ withCountry: true })).toBe('+55 84 999580685');
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
test.each(phones)('Máscara de telefone fixo sem país', (input) => {
|
|
78
|
-
const phone = new Phone(input);
|
|
79
|
-
expect(phone.mask({ withCountry: false })).toBe('84 33311454');
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
test.each(phones)('Máscara de telefone fixo com país', (input) => {
|
|
83
|
-
const phone = new Phone(input);
|
|
84
|
-
expect(phone.mask({ withCountry: true })).toBe('+55 84 33311454');
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
});
|
package/test/pis-pasep.spec.ts
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { PIS } from '../src/pis-pasep';
|
|
2
|
-
|
|
3
|
-
describe('PIS', () => {
|
|
4
|
-
describe('constructor', () => {
|
|
5
|
-
test.each([
|
|
6
|
-
'71282677380',
|
|
7
|
-
'23795126955',
|
|
8
|
-
'50012973803',
|
|
9
|
-
'27890141144',
|
|
10
|
-
'268.27649.96-0',
|
|
11
|
-
'613.01862.91-7',
|
|
12
|
-
])('deve estar definido', (input) => {
|
|
13
|
-
expect(new PIS(input)).toBeDefined();
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
test.each([
|
|
17
|
-
'712.82677.38-2',
|
|
18
|
-
'237.95126.95-4',
|
|
19
|
-
'500.12973.80-1',
|
|
20
|
-
'278.90141.14-9',
|
|
21
|
-
'268.27649.96-2',
|
|
22
|
-
'613.01862.91-4',
|
|
23
|
-
'111.11111.11-1',
|
|
24
|
-
'', // vazio
|
|
25
|
-
'0613.01862.91-4', // caracteres a mais
|
|
26
|
-
'13.01862.91-4', // caracteres a menos
|
|
27
|
-
null,
|
|
28
|
-
undefined,
|
|
29
|
-
])('deve lançar erro', (input) => {
|
|
30
|
-
expect(() => new PIS(input as any)).toThrow();
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
describe('mask', () => {
|
|
35
|
-
test.each([
|
|
36
|
-
{ num: '71282677380', expected: '712.82677.38-0' },
|
|
37
|
-
{ num: '23795126955', expected: '237.95126.95-5' },
|
|
38
|
-
{ num: '50012973803', expected: '500.12973.80-3' },
|
|
39
|
-
])('mask() - Testando se a máscara foi gerada corretamente', (item) => {
|
|
40
|
-
const masked = new PIS(item.num).mask();
|
|
41
|
-
|
|
42
|
-
expect(masked).toBe(item.expected);
|
|
43
|
-
expect(masked).toMatch(/^\d{3}.\d{5}.\d{2}-\d{1}$/);
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
describe('fake', () => {
|
|
48
|
-
test.each([...Array(5)])('deve gerar um fake válido', () => {
|
|
49
|
-
const result = PIS.fake();
|
|
50
|
-
expect(result).toBeDefined();
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
describe('checksum', () => {
|
|
55
|
-
test.each([
|
|
56
|
-
{ num: '7128267738', expected: '0' },
|
|
57
|
-
{ num: '2379512695', expected: '5' },
|
|
58
|
-
{ num: '5001297380', expected: '3' },
|
|
59
|
-
])('%s deve gerar dv correto', (item) => {
|
|
60
|
-
const calcDv = PIS.checksum(item.num);
|
|
61
|
-
|
|
62
|
-
expect(calcDv).toBe(item.expected);
|
|
63
|
-
expect(typeof calcDv).toBe('string');
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
test.each(['712826778', '71282677381', ''])(
|
|
67
|
-
'%s deve lançar erro de dv',
|
|
68
|
-
(item) => {
|
|
69
|
-
expect(() => PIS.checksum(item)).toThrow();
|
|
70
|
-
}
|
|
71
|
-
);
|
|
72
|
-
});
|
|
73
|
-
});
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
// pix usado pelo 10 pila.
|
|
2
|
-
|
|
3
|
-
import { PixCopyPaste } from '../src/pix-copy-paste';
|
|
4
|
-
|
|
5
|
-
// esse pix é um pix automatico
|
|
6
|
-
const pixStone = `00020101021226820014br.gov.bcb.pix2560pix.stone.com.br/pix/v2/b411f5c8-e97f-4a18-af0e-fc66491748d7520400005303986540510.005802BR5925DIOGO DA SILVA SANTOS LTD6014RIO DE JANEIRO622905251e3afd7926983f8ffe086cdc16304FF60`;
|
|
7
|
-
const pixManual = `00020126550014BR.GOV.BCB.PIX0123alexandrepato@gmail.com0206almoco5204000053039865406100.005802BR5914Alexandre Pato6009Ipanguacu61085950800062490511PIXJS76657250300017BR.GOV.BCB.BRCODE01051.0.0630455CF`;
|
|
8
|
-
|
|
9
|
-
const cases = [
|
|
10
|
-
pixStone,
|
|
11
|
-
pixManual
|
|
12
|
-
]
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
describe('PixCopyPaste', () => {
|
|
16
|
-
describe('constructor', () => {
|
|
17
|
-
test.each(cases)('deve estar definido', (input) => {
|
|
18
|
-
const pix = new PixCopyPaste(input);
|
|
19
|
-
expect(pix).toBeDefined();
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
test('deve lançar um erro ao injetar um caractere na terceira posição', () => {
|
|
23
|
-
const copyPaste = pixStone.slice(0, 4) + 'D' + pixStone.slice(4);
|
|
24
|
-
expect(()=>new PixCopyPaste(copyPaste)).toThrow()
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
describe('parse', () => {
|
|
29
|
-
test.each(cases)('testa o parse', (input) => {
|
|
30
|
-
const parse = PixCopyPaste.parse(input);
|
|
31
|
-
|
|
32
|
-
expect(parse).toBeDefined();
|
|
33
|
-
expect(Array.isArray(parse)).toBeTruthy();
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
|
package/test/pix-key.spec.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { PixKey, PixKeys } from '../src/pix-key';
|
|
2
|
-
|
|
3
|
-
describe('Pix', () => {
|
|
4
|
-
describe('constructor', () => {
|
|
5
|
-
test('deve estar definido do tipo e-mail', () => {
|
|
6
|
-
const key = new PixKey('klawdyo@gmail.com');
|
|
7
|
-
expect(key).toBeDefined();
|
|
8
|
-
expect(key.type).toBe(PixKeys.email);
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
test('deve estar definido do tipo cpf', () => {
|
|
12
|
-
const key = new PixKey('004.129.620-63');
|
|
13
|
-
expect(key).toBeDefined();
|
|
14
|
-
expect(key.type).toBe(PixKeys.cpf);
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
test('deve estar definido do tipo cnpj', () => {
|
|
18
|
-
const key = new PixKey('41356581000186');
|
|
19
|
-
expect(key).toBeDefined();
|
|
20
|
-
expect(key.type).toBe(PixKeys.cnpj);
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
test('deve estar definido do tipo aleatória', () => {
|
|
24
|
-
const key = new PixKey('01234567-0123-4567-8901-234567890123');
|
|
25
|
-
expect(key).toBeDefined();
|
|
26
|
-
expect(key.type).toBe(PixKeys.evp);
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
test('deve estar definido do tipo phone', () => {
|
|
30
|
-
const key = new PixKey('+5584987654321');
|
|
31
|
-
expect(key).toBeDefined();
|
|
32
|
-
expect(key.type).toBe(PixKeys.phone);
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
test('deve falhar ao receber um telefone inválido', () => {
|
|
36
|
-
expect(() => new PixKey('+55849876')).toThrow()
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
});
|
|
41
|
-
});
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { PostalTrackCode } from '../src/postal-track-code';
|
|
2
|
-
|
|
3
|
-
describe('PostalTrackCode', () => {
|
|
4
|
-
describe('constructor', () => {
|
|
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
|
-
])('%s deve estar definido', (input) => {
|
|
20
|
-
expect(new PostalTrackCode(input)).toBeDefined();
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
test.each([
|
|
24
|
-
'PO925524762BR', // dv inválido
|
|
25
|
-
'JT194624698BR', // dv inválido
|
|
26
|
-
'SV143824674BR', // dv inválido
|
|
27
|
-
'RG727324650CN', // dv inválido
|
|
28
|
-
'RY747624885CN', // dv inválido
|
|
29
|
-
'RY728114035CN', // dv inválido
|
|
30
|
-
'RY728114035', // sem letras no final
|
|
31
|
-
'RY728114035N', // 1 letra no final
|
|
32
|
-
'RS737783818NLL', // 3 letras no final
|
|
33
|
-
'737783818NL', // sem letra no começo
|
|
34
|
-
'S737783818NL', // só 1 letra no começo
|
|
35
|
-
'ARS737783818NL', // 3 letras no começo
|
|
36
|
-
'RS73778381NL', // numero a menos
|
|
37
|
-
null,
|
|
38
|
-
undefined,
|
|
39
|
-
])('%s deve lançar erro', (input) => {
|
|
40
|
-
expect(() => new PostalTrackCode(input as any)).toThrow();
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
describe('mask', () => {
|
|
45
|
-
test.each([
|
|
46
|
-
{ num: 'pn718252423br', expected: 'PN718252423BR' },
|
|
47
|
-
{ num: 'po925539762br', expected: 'PO925539762BR' },
|
|
48
|
-
{ num: 'jt194690698br', expected: 'JT194690698BR' },
|
|
49
|
-
])('Deve aplicar a máscara corretamente', (item) => {
|
|
50
|
-
const masked = new PostalTrackCode(item.num).mask();
|
|
51
|
-
|
|
52
|
-
expect(masked).toBe(item.expected);
|
|
53
|
-
expect(masked).toMatch(/^[A-Z]{2}\d{9}[A-Z]{2}$/);
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
describe('fake', () => {
|
|
58
|
-
test.each([...Array(5)])('deve gerar fakes válidos', () => {
|
|
59
|
-
const result = PostalTrackCode.fake();
|
|
60
|
-
expect(result).toBeDefined();
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
describe('checksum', () => {
|
|
65
|
-
test.each([
|
|
66
|
-
{ num: '71825242', expected: '3' },
|
|
67
|
-
{ num: '92553976', expected: '2' },
|
|
68
|
-
{ num: '19469069', expected: '8' },
|
|
69
|
-
])('Deve calcular o Dv corretamente', (item) => {
|
|
70
|
-
const calcDv = PostalTrackCode.checksum(item.num);
|
|
71
|
-
|
|
72
|
-
expect(calcDv).toBe(item.expected);
|
|
73
|
-
expect(typeof calcDv).toBe('string');
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
test.each(['PN718252423BR', '925539762BR', 'JT194690698'])(
|
|
77
|
-
'Deve lançar erro',
|
|
78
|
-
(item) => {
|
|
79
|
-
expect(() => PostalTrackCode.checksum(item)).toThrow();
|
|
80
|
-
}
|
|
81
|
-
);
|
|
82
|
-
});
|
|
83
|
-
});
|
package/test/renavam.spec.ts
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { Renavam } from '../src/renavam';
|
|
2
|
-
|
|
3
|
-
describe('Renavam', () => {
|
|
4
|
-
describe('constructor', () => {
|
|
5
|
-
test.each([
|
|
6
|
-
'1952519770-3',
|
|
7
|
-
'3394038959-9',
|
|
8
|
-
'03607626105',
|
|
9
|
-
'64090416160',
|
|
10
|
-
'80499688374',
|
|
11
|
-
'40650543741',
|
|
12
|
-
])('deve estar definido', (input) => {
|
|
13
|
-
expect(new Renavam(input)).toBeDefined();
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
test.each([
|
|
17
|
-
'19525227703',
|
|
18
|
-
'33940229599',
|
|
19
|
-
'03607226105',
|
|
20
|
-
'64090226160',
|
|
21
|
-
'80499228374',
|
|
22
|
-
'', // vazio
|
|
23
|
-
'012345678900', // caracteres a mais
|
|
24
|
-
'12345678', // caracteres a menos
|
|
25
|
-
null,
|
|
26
|
-
undefined,
|
|
27
|
-
])('deve lançar erro', (input) => {
|
|
28
|
-
expect(() => new Renavam(input as any)).toThrow();
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
describe('mask', () => {
|
|
33
|
-
test.each([
|
|
34
|
-
{ num: '03607626105', expected: '0360762610-5' },
|
|
35
|
-
{ num: '64090416160', expected: '6409041616-0' },
|
|
36
|
-
{ num: '80499688374', expected: '8049968837-4' },
|
|
37
|
-
])('mask() - Testando se a máscara foi gerada corretamente', (item) => {
|
|
38
|
-
const masked = new Renavam(item.num).mask();
|
|
39
|
-
|
|
40
|
-
expect(masked).toBe(item.expected);
|
|
41
|
-
expect(masked).toMatch(/^\d{10}-\d{1}$/);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
describe('fake', () => {
|
|
46
|
-
test.each([...Array(5)])('fake() - Gera fakes sem máscara', () => {
|
|
47
|
-
const result = Renavam.fake();
|
|
48
|
-
expect(result).toBeDefined();
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
describe('checksum', () => {
|
|
53
|
-
test.each([
|
|
54
|
-
{ num: '1952519770', expected: '3' },
|
|
55
|
-
{ num: '0952519770', expected: '6' },
|
|
56
|
-
{ num: '0052519770', expected: '2' },
|
|
57
|
-
])('Deve gerar o dv correto', (item) => {
|
|
58
|
-
const calcDv = Renavam.checksum(item.num);
|
|
59
|
-
|
|
60
|
-
expect(calcDv).toBe(item.expected);
|
|
61
|
-
expect(typeof calcDv).toBe('string');
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
test.each(['00525197701', '0052519770-1', '005251977'])(
|
|
65
|
-
'deve lançar erro de dv',
|
|
66
|
-
(item) => {
|
|
67
|
-
expect(() => Renavam.checksum(item)).toThrow();
|
|
68
|
-
}
|
|
69
|
-
);
|
|
70
|
-
});
|
|
71
|
-
});
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { TituloEleitor } from "../src/tituloEleitor";
|
|
2
|
-
|
|
3
|
-
describe('TituloEleitor', () => {
|
|
4
|
-
describe('constructor', () => {
|
|
5
|
-
test.each([
|
|
6
|
-
// masked
|
|
7
|
-
'1023.8501.0671',
|
|
8
|
-
'8365.7137.1619',
|
|
9
|
-
// string
|
|
10
|
-
'153036161686',
|
|
11
|
-
'525028881694',
|
|
12
|
-
// integer
|
|
13
|
-
'011122223360',
|
|
14
|
-
'001122223336',
|
|
15
|
-
])('deve estar definido', (input) => {
|
|
16
|
-
expect(new TituloEleitor(input)).toBeDefined();
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
test.each([
|
|
20
|
-
'836531371619',
|
|
21
|
-
'743620641660',
|
|
22
|
-
'153016161686',
|
|
23
|
-
'525078881694',
|
|
24
|
-
'026367681660',
|
|
25
|
-
'558647441635',
|
|
26
|
-
'222222222222',
|
|
27
|
-
'', // vazio
|
|
28
|
-
'012345678900', // caracteres a mais
|
|
29
|
-
'12345678', // caracteres a menos
|
|
30
|
-
null,
|
|
31
|
-
undefined,
|
|
32
|
-
])('deve lançar erro', (input) => {
|
|
33
|
-
expect(() => new TituloEleitor(input as any)).toThrow();
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
describe('mask', () => {
|
|
38
|
-
test.each([
|
|
39
|
-
{ num: '102385010671', expected: '1023.8501.0671' },
|
|
40
|
-
{ num: '836571371619', expected: '8365.7137.1619' },
|
|
41
|
-
{ num: '743650641660', expected: '7436.5064.1660' },
|
|
42
|
-
{ num: '011122223360', expected: '0111.2222.3360' },
|
|
43
|
-
{ num: '001122223336', expected: '0011.2222.3336' },
|
|
44
|
-
])('mask() - Testando se a máscara foi gerada corretamente', (item) => {
|
|
45
|
-
const masked = new TituloEleitor(item.num).mask();
|
|
46
|
-
|
|
47
|
-
expect(masked).toBe(item.expected);
|
|
48
|
-
expect(masked).toMatch(/^\d{4}.\d{4}.\d{4}$/)
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
describe('fake', () => {
|
|
53
|
-
test.each([...Array(5)])('fake() - Gera fakes sem máscara', () => {
|
|
54
|
-
const result = TituloEleitor.fake();
|
|
55
|
-
expect(result).toBeDefined();
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
describe('checksum', () => {
|
|
60
|
-
test.each([
|
|
61
|
-
{ num: '1023850106', expected: '71' },
|
|
62
|
-
{ num: '8365713716', expected: '19' },
|
|
63
|
-
{ num: '7436506416', expected: '60' },
|
|
64
|
-
{ num: '0011222233', expected: '36' },
|
|
65
|
-
])('dv() - Verificando se o DV gerado está correto', (item) => {
|
|
66
|
-
const calcDv = TituloEleitor.checksum(item.num);
|
|
67
|
-
|
|
68
|
-
expect(calcDv).toBe(item.expected);
|
|
69
|
-
expect(typeof calcDv).toBe('string');
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
});
|