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.
Files changed (114) hide show
  1. package/.vscode/settings.json +5 -0
  2. package/dist/tsconfig.tsbuildinfo +1 -1
  3. package/package.json +14 -1
  4. package/todo.md +2 -1
  5. package/dist/test/_helpers/crc.spec.d.ts +0 -2
  6. package/dist/test/_helpers/crc.spec.d.ts.map +0 -1
  7. package/dist/test/_helpers/crc.spec.js +0 -11
  8. package/dist/test/_helpers/crc.spec.js.map +0 -1
  9. package/dist/test/carplate.spec.d.ts +0 -2
  10. package/dist/test/carplate.spec.d.ts.map +0 -1
  11. package/dist/test/carplate.spec.js +0 -81
  12. package/dist/test/carplate.spec.js.map +0 -1
  13. package/dist/test/cep.spec.d.ts +0 -2
  14. package/dist/test/cep.spec.d.ts.map +0 -1
  15. package/dist/test/cep.spec.js +0 -95
  16. package/dist/test/cep.spec.js.map +0 -1
  17. package/dist/test/cnh.spec.d.ts +0 -2
  18. package/dist/test/cnh.spec.d.ts.map +0 -1
  19. package/dist/test/cnh.spec.js +0 -55
  20. package/dist/test/cnh.spec.js.map +0 -1
  21. package/dist/test/cnpj.spec.d.ts +0 -2
  22. package/dist/test/cnpj.spec.d.ts.map +0 -1
  23. package/dist/test/cnpj.spec.js +0 -105
  24. package/dist/test/cnpj.spec.js.map +0 -1
  25. package/dist/test/cpf.spec.d.ts +0 -2
  26. package/dist/test/cpf.spec.d.ts.map +0 -1
  27. package/dist/test/cpf.spec.js +0 -66
  28. package/dist/test/cpf.spec.js.map +0 -1
  29. package/dist/test/index.test.d.ts +0 -2
  30. package/dist/test/index.test.d.ts.map +0 -1
  31. package/dist/test/index.test.js +0 -77
  32. package/dist/test/index.test.js.map +0 -1
  33. package/dist/test/judicial-process.spec.d.ts +0 -2
  34. package/dist/test/judicial-process.spec.d.ts.map +0 -1
  35. package/dist/test/judicial-process.spec.js +0 -101
  36. package/dist/test/judicial-process.spec.js.map +0 -1
  37. package/dist/test/nup17.spec.d.ts +0 -2
  38. package/dist/test/nup17.spec.d.ts.map +0 -1
  39. package/dist/test/nup17.spec.js +0 -70
  40. package/dist/test/nup17.spec.js.map +0 -1
  41. package/dist/test/phone.spec.d.ts +0 -2
  42. package/dist/test/phone.spec.d.ts.map +0 -1
  43. package/dist/test/phone.spec.js +0 -79
  44. package/dist/test/phone.spec.js.map +0 -1
  45. package/dist/test/pis-pasep.spec.d.ts +0 -2
  46. package/dist/test/pis-pasep.spec.d.ts.map +0 -1
  47. package/dist/test/pis-pasep.spec.js +0 -65
  48. package/dist/test/pis-pasep.spec.js.map +0 -1
  49. package/dist/test/pix-copy-paste.spec.d.ts +0 -2
  50. package/dist/test/pix-copy-paste.spec.d.ts.map +0 -1
  51. package/dist/test/pix-copy-paste.spec.js +0 -31
  52. package/dist/test/pix-copy-paste.spec.js.map +0 -1
  53. package/dist/test/pix-key.spec.d.ts +0 -2
  54. package/dist/test/pix-key.spec.d.ts.map +0 -1
  55. package/dist/test/pix-key.spec.js +0 -36
  56. package/dist/test/pix-key.spec.js.map +0 -1
  57. package/dist/test/postal-track-code.test.d.ts +0 -2
  58. package/dist/test/postal-track-code.test.d.ts.map +0 -1
  59. package/dist/test/postal-track-code.test.js +0 -75
  60. package/dist/test/postal-track-code.test.js.map +0 -1
  61. package/dist/test/renavam.spec.d.ts +0 -2
  62. package/dist/test/renavam.spec.d.ts.map +0 -1
  63. package/dist/test/renavam.spec.js +0 -63
  64. package/dist/test/renavam.spec.js.map +0 -1
  65. package/dist/test/tituloEleitor.spec.d.ts +0 -2
  66. package/dist/test/tituloEleitor.spec.d.ts.map +0 -1
  67. package/dist/test/tituloEleitor.spec.js +0 -68
  68. package/dist/test/tituloEleitor.spec.js.map +0 -1
  69. package/dist/test/utils-checkRepeatedSequence.test.d.ts +0 -2
  70. package/dist/test/utils-checkRepeatedSequence.test.d.ts.map +0 -1
  71. package/dist/test/utils-checkRepeatedSequence.test.js +0 -18
  72. package/dist/test/utils-checkRepeatedSequence.test.js.map +0 -1
  73. package/dist/test/utils-clearValue.test.d.ts +0 -2
  74. package/dist/test/utils-clearValue.test.d.ts.map +0 -1
  75. package/dist/test/utils-clearValue.test.js +0 -74
  76. package/dist/test/utils-clearValue.test.js.map +0 -1
  77. package/dist/test/utils-insertAtPosition.test.d.ts +0 -2
  78. package/dist/test/utils-insertAtPosition.test.d.ts.map +0 -1
  79. package/dist/test/utils-insertAtPosition.test.js +0 -16
  80. package/dist/test/utils-insertAtPosition.test.js.map +0 -1
  81. package/dist/test/utils-removeFromPosition.test.d.ts +0 -2
  82. package/dist/test/utils-removeFromPosition.test.d.ts.map +0 -1
  83. package/dist/test/utils-removeFromPosition.test.js +0 -16
  84. package/dist/test/utils-removeFromPosition.test.js.map +0 -1
  85. package/dist/test/utils-sumElementsByMultipliers.test.d.ts +0 -2
  86. package/dist/test/utils-sumElementsByMultipliers.test.d.ts.map +0 -1
  87. package/dist/test/utils-sumElementsByMultipliers.test.js +0 -23
  88. package/dist/test/utils-sumElementsByMultipliers.test.js.map +0 -1
  89. package/dist/test/utils-sumToDV.test.d.ts +0 -2
  90. package/dist/test/utils-sumToDV.test.d.ts.map +0 -1
  91. package/dist/test/utils-sumToDV.test.js +0 -17
  92. package/dist/test/utils-sumToDV.test.js.map +0 -1
  93. package/test/_helpers/crc.spec.ts +0 -13
  94. package/test/carplate.spec.ts +0 -85
  95. package/test/cep.spec.ts +0 -127
  96. package/test/cnh.spec.ts +0 -67
  97. package/test/cnpj.spec.ts +0 -127
  98. package/test/cpf.spec.ts +0 -76
  99. package/test/index.test.ts +0 -112
  100. package/test/judicial-process.spec.ts +0 -131
  101. package/test/nup17.spec.ts +0 -79
  102. package/test/phone.spec.ts +0 -87
  103. package/test/pis-pasep.spec.ts +0 -73
  104. package/test/pix-copy-paste.spec.ts +0 -37
  105. package/test/pix-key.spec.ts +0 -41
  106. package/test/postal-track-code.test.ts +0 -83
  107. package/test/renavam.spec.ts +0 -71
  108. package/test/tituloEleitor.spec.ts +0 -72
  109. package/test/utils-checkRepeatedSequence.test.ts +0 -17
  110. package/test/utils-clearValue.test.ts +0 -85
  111. package/test/utils-insertAtPosition.test.ts +0 -15
  112. package/test/utils-removeFromPosition.test.ts +0 -15
  113. package/test/utils-sumElementsByMultipliers.test.ts +0 -24
  114. 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
- });
@@ -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
- });
@@ -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
- });
@@ -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
-
@@ -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
- });
@@ -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
- });