br_documents 0.1.3 → 0.2.2

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 (131) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/config.yml +40 -0
  3. data/.rubocop.yml +73 -0
  4. data/.tool-versions +1 -0
  5. data/Gemfile +1 -1
  6. data/Gemfile.lock +79 -42
  7. data/README.md +33 -0
  8. data/Rakefile +4 -4
  9. data/br_documents.gemspec +26 -19
  10. data/lib/br_documents/cnpj_cpf/cnpj.rb +2 -2
  11. data/lib/br_documents/cnpj_cpf/cpf.rb +2 -2
  12. data/lib/br_documents/cnpj_cpf/document.rb +9 -9
  13. data/lib/br_documents/cnpj_validator.rb +4 -4
  14. data/lib/br_documents/commons/mod11.rb +1 -2
  15. data/lib/br_documents/commons/mod14.rb +1 -2
  16. data/lib/br_documents/cpf_validator.rb +4 -4
  17. data/lib/br_documents/{gtin/gtin.rb → gtin.rb} +3 -3
  18. data/lib/br_documents/gtin_validator.rb +6 -6
  19. data/lib/br_documents/ie/ac.rb +3 -2
  20. data/lib/br_documents/ie/al.rb +2 -1
  21. data/lib/br_documents/ie/am.rb +3 -2
  22. data/lib/br_documents/ie/ap.rb +20 -16
  23. data/lib/br_documents/ie/ba.rb +28 -25
  24. data/lib/br_documents/ie/base.rb +1 -1
  25. data/lib/br_documents/ie/ce.rb +3 -2
  26. data/lib/br_documents/ie/df.rb +3 -2
  27. data/lib/br_documents/ie/es.rb +2 -1
  28. data/lib/br_documents/ie/factory.rb +3 -3
  29. data/lib/br_documents/ie/go.rb +3 -2
  30. data/lib/br_documents/ie/ma.rb +2 -1
  31. data/lib/br_documents/ie/mg.rb +14 -17
  32. data/lib/br_documents/ie/ms.rb +2 -1
  33. data/lib/br_documents/ie/mt.rb +6 -5
  34. data/lib/br_documents/ie/pa.rb +3 -2
  35. data/lib/br_documents/ie/pattern1.rb +10 -7
  36. data/lib/br_documents/ie/pattern2.rb +9 -8
  37. data/lib/br_documents/ie/pb.rb +3 -2
  38. data/lib/br_documents/ie/pe.rb +10 -10
  39. data/lib/br_documents/ie/pi.rb +2 -1
  40. data/lib/br_documents/ie/pr.rb +3 -2
  41. data/lib/br_documents/ie/rj.rb +3 -2
  42. data/lib/br_documents/ie/rn.rb +19 -16
  43. data/lib/br_documents/ie/ro.rb +16 -13
  44. data/lib/br_documents/ie/rr.rb +4 -3
  45. data/lib/br_documents/ie/rs.rb +3 -2
  46. data/lib/br_documents/ie/sc.rb +3 -2
  47. data/lib/br_documents/ie/se.rb +3 -2
  48. data/lib/br_documents/ie/sp.rb +17 -14
  49. data/lib/br_documents/ie/to.rb +6 -5
  50. data/lib/br_documents/ie_validator.rb +7 -7
  51. data/lib/br_documents/suframa.rb +46 -0
  52. data/lib/br_documents/suframa_validator.rb +8 -0
  53. data/lib/br_documents/version.rb +1 -1
  54. data/lib/br_documents.rb +3 -3
  55. data/spec/br_documents/cnpj_cpf/cnpj_spec.rb +59 -0
  56. data/spec/br_documents/cnpj_cpf/cpf_spec.rb +59 -0
  57. data/spec/br_documents/cnpj_validator_spec.rb +36 -0
  58. data/spec/br_documents/cpf_validator_spec.rb +36 -0
  59. data/spec/{gtin → br_documents}/gtin_spec.rb +4 -4
  60. data/spec/{gtin_validator_spec.rb → br_documents/gtin_validator_spec.rb} +14 -14
  61. data/spec/br_documents/ie/ac_spec.rb +43 -0
  62. data/spec/br_documents/ie/al_spec.rb +36 -0
  63. data/spec/br_documents/ie/am_spec.rb +43 -0
  64. data/spec/br_documents/ie/ap_spec.rb +36 -0
  65. data/spec/br_documents/ie/ba_spec.rb +69 -0
  66. data/spec/br_documents/ie/ce_spec.rb +16 -0
  67. data/spec/br_documents/ie/df_spec.rb +43 -0
  68. data/spec/br_documents/ie/es_spec.rb +16 -0
  69. data/spec/br_documents/ie/factory_spec.rb +202 -0
  70. data/spec/br_documents/ie/go_spec.rb +43 -0
  71. data/spec/br_documents/ie/ma_spec.rb +16 -0
  72. data/spec/br_documents/ie/mg_spec.rb +43 -0
  73. data/spec/br_documents/ie/ms_spec.rb +16 -0
  74. data/spec/br_documents/ie/mt_spec.rb +49 -0
  75. data/spec/br_documents/ie/pa_spec.rb +43 -0
  76. data/spec/br_documents/ie/pb_spec.rb +16 -0
  77. data/spec/br_documents/ie/pe_spec.rb +62 -0
  78. data/spec/br_documents/ie/pi_spec.rb +16 -0
  79. data/spec/br_documents/ie/pr_spec.rb +36 -0
  80. data/spec/br_documents/ie/rj_spec.rb +43 -0
  81. data/spec/br_documents/ie/rn_spec.rb +62 -0
  82. data/spec/br_documents/ie/ro_spec.rb +62 -0
  83. data/spec/br_documents/ie/rr_spec.rb +43 -0
  84. data/spec/br_documents/ie/rs_spec.rb +41 -0
  85. data/spec/br_documents/ie/sc_spec.rb +43 -0
  86. data/spec/br_documents/ie/se_spec.rb +16 -0
  87. data/spec/br_documents/ie/shared_examples_for_pattern1.rb +33 -0
  88. data/spec/br_documents/ie/shared_examples_for_to_remove_all_masks.rb +16 -0
  89. data/spec/br_documents/ie/sp_spec.rb +45 -0
  90. data/spec/br_documents/ie/to_spec.rb +100 -0
  91. data/spec/{ie_validator_spec.rb → br_documents/ie_validator_spec.rb} +12 -9
  92. data/spec/br_documents/suframa_spec.rb +73 -0
  93. data/spec/br_documents/suframa_validator_spec.rb +36 -0
  94. data/spec/spec_helper.rb +6 -6
  95. data/spec/support/utilities.rb +2 -2
  96. metadata +177 -99
  97. data/.circleci/config.yml +0 -42
  98. data/spec/cnpj_cpf/cnpj_spec.rb +0 -59
  99. data/spec/cnpj_cpf/cpf_spec.rb +0 -59
  100. data/spec/cnpj_validator_spec.rb +0 -36
  101. data/spec/cpf_validator_spec.rb +0 -36
  102. data/spec/ie/ac_spec.rb +0 -43
  103. data/spec/ie/al_spec.rb +0 -36
  104. data/spec/ie/am_spec.rb +0 -43
  105. data/spec/ie/ap_spec.rb +0 -36
  106. data/spec/ie/ba_spec.rb +0 -69
  107. data/spec/ie/ce_spec.rb +0 -16
  108. data/spec/ie/df_spec.rb +0 -43
  109. data/spec/ie/es_spec.rb +0 -16
  110. data/spec/ie/factory_spec.rb +0 -203
  111. data/spec/ie/go_spec.rb +0 -43
  112. data/spec/ie/ma_spec.rb +0 -16
  113. data/spec/ie/mg_spec.rb +0 -43
  114. data/spec/ie/ms_spec.rb +0 -16
  115. data/spec/ie/mt_spec.rb +0 -44
  116. data/spec/ie/pa_spec.rb +0 -43
  117. data/spec/ie/pb_spec.rb +0 -16
  118. data/spec/ie/pe_spec.rb +0 -62
  119. data/spec/ie/pi_spec.rb +0 -16
  120. data/spec/ie/pr_spec.rb +0 -36
  121. data/spec/ie/rj_spec.rb +0 -43
  122. data/spec/ie/rn_spec.rb +0 -62
  123. data/spec/ie/ro_spec.rb +0 -62
  124. data/spec/ie/rr_spec.rb +0 -43
  125. data/spec/ie/rs_spec.rb +0 -41
  126. data/spec/ie/sc_spec.rb +0 -43
  127. data/spec/ie/se_spec.rb +0 -16
  128. data/spec/ie/shared_examples_for_pattern1.rb +0 -33
  129. data/spec/ie/shared_examples_for_to_remove_all_masks.rb +0 -17
  130. data/spec/ie/sp_spec.rb +0 -45
  131. data/spec/ie/to_spec.rb +0 -100
@@ -1,203 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe BrDocuments::IE::Factory do
4
- describe ".create" do
5
- context "when uf is AC" do
6
- it "returns an instance of BrDocuments::IE::AC" do
7
- ie = BrDocuments::IE::Factory.create("AC", "123456789")
8
- expect(ie).to be_an_instance_of BrDocuments::IE::AC
9
- end
10
- end
11
-
12
- context "when uf is AL" do
13
- it "returns an instance of BrDocuments::IE::AL" do
14
- ie = BrDocuments::IE::Factory.create("AL", "123456789")
15
- expect(ie).to be_an_instance_of BrDocuments::IE::AL
16
- end
17
- end
18
-
19
- context "when uf is AP" do
20
- it "returns an instance of BrDocuments::IE::AP" do
21
- ie = BrDocuments::IE::Factory.create("AP", "123456789")
22
- expect(ie).to be_an_instance_of BrDocuments::IE::AP
23
- end
24
- end
25
-
26
- context "when uf is AM" do
27
- it "returns an instance of BrDocuments::IE::AM" do
28
- ie = BrDocuments::IE::Factory.create("AM", "123456789")
29
- expect(ie).to be_an_instance_of BrDocuments::IE::AM
30
- end
31
- end
32
-
33
- context "when uf is BA" do
34
- it "returns an instance of BrDocuments::IE::BA" do
35
- ie = BrDocuments::IE::Factory.create("BA", "123456789")
36
- expect(ie).to be_an_instance_of BrDocuments::IE::BA
37
- end
38
- end
39
-
40
- context "when uf is CE" do
41
- it "returns an instance of BrDocuments::IE::CE" do
42
- ie = BrDocuments::IE::Factory.create("CE", "123456789")
43
- expect(ie).to be_an_instance_of BrDocuments::IE::CE
44
- end
45
- end
46
-
47
- context "when uf is DF" do
48
- it "returns an instance of BrDocuments::IE::DF" do
49
- ie = BrDocuments::IE::Factory.create("DF", "123456789")
50
- expect(ie).to be_an_instance_of BrDocuments::IE::DF
51
- end
52
- end
53
-
54
- context "when uf is ES" do
55
- it "returns an instance of BrDocuments::IE::ES" do
56
- ie = BrDocuments::IE::Factory.create("ES", "123456789")
57
- expect(ie).to be_an_instance_of BrDocuments::IE::ES
58
- end
59
- end
60
-
61
- context "when uf is GO" do
62
- it "returns an instance of BrDocuments::IE::GO" do
63
- ie = BrDocuments::IE::Factory.create("GO", "123456789")
64
- expect(ie).to be_an_instance_of BrDocuments::IE::GO
65
- end
66
- end
67
-
68
- context "when uf is MA" do
69
- it "returns an instance of BrDocuments::IE::MA" do
70
- ie = BrDocuments::IE::Factory.create("MA", "123456789")
71
- expect(ie).to be_an_instance_of BrDocuments::IE::MA
72
- end
73
- end
74
-
75
- context "when uf is MG" do
76
- it "returns an instance of BrDocuments::IE::MG" do
77
- ie = BrDocuments::IE::Factory.create("MG", "123456789")
78
- expect(ie).to be_an_instance_of BrDocuments::IE::MG
79
- end
80
- end
81
-
82
- context "when uf is MS" do
83
- it "returns an instance of BrDocuments::IE::MS" do
84
- ie = BrDocuments::IE::Factory.create("MS", "123456789")
85
- expect(ie).to be_an_instance_of BrDocuments::IE::MS
86
- end
87
- end
88
-
89
- context "when uf is MT" do
90
- it "returns an instance of BrDocuments::IE::MT" do
91
- ie = BrDocuments::IE::Factory.create("MT", "123456789")
92
- expect(ie).to be_an_instance_of BrDocuments::IE::MT
93
- end
94
- end
95
-
96
- context "when uf is PA" do
97
- it "returns an instance of BrDocuments::IE::PA" do
98
- ie = BrDocuments::IE::Factory.create("PA", "123456789")
99
- expect(ie).to be_an_instance_of BrDocuments::IE::PA
100
- end
101
- end
102
-
103
- context "when uf is PB" do
104
- it "returns an instance of BrDocuments::IE::PB" do
105
- ie = BrDocuments::IE::Factory.create("PB", "123456789")
106
- expect(ie).to be_an_instance_of BrDocuments::IE::PB
107
- end
108
- end
109
-
110
- context "when uf is PR" do
111
- it "returns an instance of BrDocuments::IE::PR" do
112
- ie = BrDocuments::IE::Factory.create("PR", "123456789")
113
- expect(ie).to be_an_instance_of BrDocuments::IE::PR
114
- end
115
- end
116
-
117
- context "when uf is PE" do
118
- it "returns an instance of BrDocuments::IE::PE" do
119
- ie = BrDocuments::IE::Factory.create("PE", "123456789")
120
- expect(ie).to be_an_instance_of BrDocuments::IE::PE
121
- end
122
- end
123
-
124
- context "when uf is PI" do
125
- it "returns an instance of BrDocuments::IE::PI" do
126
- ie = BrDocuments::IE::Factory.create("PI", "123456789")
127
- expect(ie).to be_an_instance_of BrDocuments::IE::PI
128
- end
129
- end
130
-
131
- context "when uf is RJ" do
132
- it "returns an instance of BrDocuments::IE::RJ" do
133
- ie = BrDocuments::IE::Factory.create("RJ", "123456789")
134
- expect(ie).to be_an_instance_of BrDocuments::IE::RJ
135
- end
136
- end
137
-
138
- context "when uf is returns" do
139
- it "returns an instance of BrDocuments::IE::RN" do
140
- ie = BrDocuments::IE::Factory.create("RN", "123456789")
141
- expect(ie).to be_an_instance_of BrDocuments::IE::RN
142
- end
143
- end
144
-
145
- context "when uf is RS" do
146
- it "returns an instance of BrDocuments::IE::RS" do
147
- ie = BrDocuments::IE::Factory.create("RS", "123456789")
148
- expect(ie).to be_an_instance_of BrDocuments::IE::RS
149
- end
150
- end
151
-
152
- context "when uf is RO" do
153
- it "returns an instance of BrDocuments::IE::RO" do
154
- ie = BrDocuments::IE::Factory.create("RO", "123456789")
155
- expect(ie).to be_an_instance_of BrDocuments::IE::RO
156
- end
157
- end
158
-
159
- context "when uf is RR" do
160
- it "returns an instance of BrDocuments::IE::RR" do
161
- ie = BrDocuments::IE::Factory.create("RR", "123456789")
162
- expect(ie).to be_an_instance_of BrDocuments::IE::RR
163
- end
164
- end
165
-
166
- context "when uf is SC" do
167
- it "returns an instance of BrDocuments::IE::SC" do
168
- ie = BrDocuments::IE::Factory.create("SC", "123456789")
169
- expect(ie).to be_an_instance_of BrDocuments::IE::SC
170
- end
171
- end
172
-
173
- context "when uf is SP" do
174
- it "returns an instance of BrDocuments::IE::SP" do
175
- ie = BrDocuments::IE::Factory.create("SP", "123456789")
176
- expect(ie).to be_an_instance_of BrDocuments::IE::SP
177
- end
178
- end
179
-
180
- context "when uf is SE" do
181
- it "returns an instance of BrDocuments::IE::SE" do
182
- ie = BrDocuments::IE::Factory.create("SE", "123456789")
183
- expect(ie).to be_an_instance_of BrDocuments::IE::SE
184
- end
185
- end
186
-
187
- context "when uf is TO" do
188
- it "returns an instance of BrDocuments::IE::TO" do
189
- ie = BrDocuments::IE::Factory.create("TO", "123456789")
190
- expect(ie).to be_an_instance_of BrDocuments::IE::TO
191
- end
192
- end
193
-
194
-
195
- context "when uf is invalid" do
196
- it "is returns an error" do
197
- expect{
198
- BrDocuments::IE::Factory.create("", "")
199
- }.to raise_error(ArgumentError, t("validator.ie.uf.invalid"))
200
- end
201
- end
202
- end
203
- end
data/spec/ie/go_spec.rb DELETED
@@ -1,43 +0,0 @@
1
- require "spec_helper"
2
- require_relative "shared_examples_for_to_remove_all_masks"
3
-
4
- describe BrDocuments::IE::GO do
5
- describe "#formatted" do
6
- it "returns a formatted ie" do
7
- ie = described_class.new("123456789")
8
- expect(ie.formatted).to eq "12.345.678-9"
9
- end
10
- end
11
-
12
- describe "#valid?" do
13
- it "is invalid with malformed number" do
14
- ["01.390415.9", "280541-600", "1C78150A5"].each do |number|
15
- ie = described_class.new(number)
16
- expect(ie).to_not be_valid
17
- end
18
- end
19
-
20
- it "is invalid with length different to 9" do
21
- ["1234567", "122345678901"].each do |number|
22
- ie = described_class.new(number)
23
- expect(ie).to_not be_valid
24
- end
25
- end
26
-
27
- it "is invalid with invalid check number" do
28
- ["903473566", "493184742"].each do |number|
29
- ie = described_class.new(number)
30
- expect(ie).to_not be_valid
31
- end
32
- end
33
-
34
- it "is valid with valid number" do
35
- ["155432214", "916876470"].each do |number|
36
- ie = described_class.new(number)
37
- expect(ie).to be_valid
38
- end
39
- end
40
-
41
- include_examples "for to remove all masks", "91.687.647-0"
42
- end
43
- end
data/spec/ie/ma_spec.rb DELETED
@@ -1,16 +0,0 @@
1
- require "spec_helper"
2
- require_relative "shared_examples_for_pattern1"
3
- require_relative "shared_examples_for_to_remove_all_masks"
4
-
5
- describe BrDocuments::IE::MA do
6
- describe "#formatted" do
7
- it "returns a formatted ie" do
8
- ie = described_class.new("123456789")
9
- expect(ie.formatted).to eq "123456789"
10
- end
11
- end
12
-
13
- it_behaves_like "a pattern1", "MA"
14
-
15
- include_examples "for to remove all masks", "12345678-9"
16
- end
data/spec/ie/mg_spec.rb DELETED
@@ -1,43 +0,0 @@
1
- require "spec_helper"
2
- require_relative "shared_examples_for_to_remove_all_masks"
3
-
4
- RSpec.describe BrDocuments::IE::MG do
5
- describe "#formatted" do
6
- it "returns a formatted ie" do
7
- ie = described_class.new("1234567890123")
8
- expect(ie.formatted).to eq "123.456.789/0123"
9
- end
10
- end
11
-
12
- describe "#valid?" do
13
- it "is invalid with malformed number" do
14
- ["36.311.266.571-75", "4.168.836.973-423", "560.139.778.87-BA"].each do |number|
15
- ie = described_class.new(number)
16
- expect(ie).to_not be_valid
17
- end
18
- end
19
-
20
- it "is invalid with length different to 13" do
21
- ["123456789", "1234567890123"].each do |number|
22
- ie = described_class.new(number)
23
- expect(ie).to_not be_valid
24
- end
25
- end
26
-
27
- it "is invalid with invalid check number" do
28
- ["4193434759812", "9427301981832"].each do |number|
29
- ie = described_class.new(number)
30
- expect(ie).to_not be_valid
31
- end
32
- end
33
-
34
- it "is valid with valid number" do
35
- ["4193434759899", "9427301981820"].each do |number|
36
- ie = described_class.new(number)
37
- expect(ie).to be_valid
38
- end
39
- end
40
-
41
- include_examples "for to remove all masks", "942.730.198.18-20"
42
- end
43
- end
data/spec/ie/ms_spec.rb DELETED
@@ -1,16 +0,0 @@
1
- require "spec_helper"
2
- require_relative "shared_examples_for_pattern1"
3
- require_relative "shared_examples_for_to_remove_all_masks"
4
-
5
- describe BrDocuments::IE::MS do
6
- describe "#formatted" do
7
- it "returns a formatted ie" do
8
- ie = described_class.new("123456789")
9
- expect(ie.formatted).to eq "123456789"
10
- end
11
- end
12
-
13
- it_behaves_like "a pattern1", "MS"
14
-
15
- include_examples "for to remove all masks", "12345678-9"
16
- end
data/spec/ie/mt_spec.rb DELETED
@@ -1,44 +0,0 @@
1
- require "spec_helper"
2
- require_relative "shared_examples_for_to_remove_all_masks"
3
-
4
- RSpec.describe BrDocuments::IE::MT do
5
- describe "#formatted" do
6
- it "returns a formatted ie" do
7
- ie = described_class.new("12345678901")
8
- expect(ie.formatted).to eq "1234567890-1"
9
- end
10
- end
11
-
12
- describe "#valid?" do
13
- it "is invalid with malformed number" do
14
- ["82.060.187.373", "528843171-72", "AD402552219"].each do |number|
15
- ie = described_class.new(number)
16
- expect(ie).to_not be_valid
17
- end
18
- end
19
-
20
- context "when the number is greater than 11" do
21
- subject { described_class.new("123456789012") }
22
-
23
- it "is invalid" do
24
- expect(subject).to_not be_valid
25
- end
26
- end
27
-
28
- it "is invalid with invalid check number" do
29
- ["00404609123", "83646580222"].each do |number|
30
- ie = described_class.new(number)
31
- expect(ie).to_not be_valid
32
- end
33
- end
34
-
35
- it "is valid with valid number" do
36
- ["0013000001-9", "82060187373", "132631946", "13.263.194-6"].each do |number|
37
- ie = described_class.new(number)
38
- expect(ie).to be_valid
39
- end
40
- end
41
-
42
- include_examples "for to remove all masks", "0013000001-9"
43
- end
44
- end
data/spec/ie/pa_spec.rb DELETED
@@ -1,43 +0,0 @@
1
- require "spec_helper"
2
- require_relative "shared_examples_for_to_remove_all_masks"
3
-
4
- describe BrDocuments::IE::PA do
5
- describe "#formatted" do
6
- it "returns a formatted ie" do
7
- ie = described_class.new("123456789")
8
- expect(ie.formatted).to eq "12-345678-9"
9
- end
10
- end
11
-
12
- describe "#valid?" do
13
- it "is invalid with malformed number" do
14
- ["15.361.802-7", "15-48556-93", "15-4AB752-7"].each do |number|
15
- ie = described_class.new(number)
16
- expect(ie).to_not be_valid
17
- end
18
- end
19
-
20
- it "is invalid with length different to 9" do
21
- ["1234567", "12345678901"].each do |number|
22
- ie = described_class.new(number)
23
- expect(ie).to_not be_valid
24
- end
25
- end
26
-
27
- it "is invalid with invalid check number" do
28
- ["152653852", "157252799"].each do |number|
29
- ie = described_class.new(number)
30
- expect(ie).to_not be_valid
31
- end
32
- end
33
-
34
- it "is valid with valid number" do
35
- ["159636841", "158667794"].each do |number|
36
- ie = described_class.new(number)
37
- expect(ie).to be_valid
38
- end
39
- end
40
-
41
- include_examples "for to remove all masks", "15-866779-4"
42
- end
43
- end
data/spec/ie/pb_spec.rb DELETED
@@ -1,16 +0,0 @@
1
- require "spec_helper"
2
- require_relative "shared_examples_for_pattern1"
3
- require_relative "shared_examples_for_to_remove_all_masks"
4
-
5
- describe BrDocuments::IE::PB do
6
- describe "#formatted" do
7
- it "returns a formatted ie" do
8
- ie = described_class.new("123456789")
9
- expect(ie.formatted).to eq "12345678-9"
10
- end
11
- end
12
-
13
- it_behaves_like "a pattern1", "PB"
14
-
15
- include_examples "for to remove all masks", "12345678-9"
16
- end
data/spec/ie/pe_spec.rb DELETED
@@ -1,62 +0,0 @@
1
- require "spec_helper"
2
- require_relative "shared_examples_for_to_remove_all_masks"
3
-
4
- describe BrDocuments::IE::PE do
5
- describe "#formatted" do
6
- context "when having 9 digits" do
7
- it "returns a formatted ie" do
8
- ie = described_class.new("123456789")
9
- expect(ie.formatted).to eq "1234567-89"
10
- end
11
- end
12
-
13
- context "when having 14 digits" do
14
- it "returns a formatted ie" do
15
- ie = described_class.new("18100100000049")
16
- expect(ie.formatted).to eq "18.1.001.0000004-9"
17
- end
18
- end
19
- end
20
-
21
- describe "#valid?" do
22
- it "is invalid with malformed number" do
23
- ["15711188-1", "3.661.165-41", "3AB8287-00", "18.1.001.000000-49"].each do |number|
24
- ie = described_class.new(number)
25
- expect(ie).to_not be_valid
26
- end
27
- end
28
-
29
- it "is invalid with length different to 9 or 14" do
30
- ["1234567", "12345678901", "0123456789012345"].each do |number|
31
- ie = described_class.new(number)
32
- expect(ie).to_not be_valid
33
- end
34
- end
35
-
36
- context "when having 9 digits" do
37
- it "is invalid with invalid check number" do
38
- ie = described_class.new("838872602")
39
- expect(ie).to_not be_valid
40
- end
41
-
42
- it "is valid with valid number" do
43
- ie = described_class.new("418873607")
44
- expect(ie).to be_valid
45
- end
46
- end
47
-
48
- context "when having 14 digits" do
49
- it "is invalid with invalid check number" do
50
- ie = described_class.new("18100100000048")
51
- expect(ie).to_not be_valid
52
- end
53
-
54
- it "is valid with valid number" do
55
- ie = described_class.new("18100100000049")
56
- expect(ie).to be_valid
57
- end
58
- end
59
-
60
- include_examples "for to remove all masks", "18.1.001.0000004-9"
61
- end
62
- end
data/spec/ie/pi_spec.rb DELETED
@@ -1,16 +0,0 @@
1
- require "spec_helper"
2
- require_relative "shared_examples_for_pattern1"
3
- require_relative "shared_examples_for_to_remove_all_masks"
4
-
5
- describe BrDocuments::IE::PI do
6
- describe "#formatted" do
7
- it "returns a formatted ie" do
8
- ie = described_class.new("123456789")
9
- expect(ie.formatted).to eq "123456789"
10
- end
11
- end
12
-
13
- it_behaves_like "a pattern1", "PI"
14
-
15
- include_examples "for to remove all masks", "12345678-9"
16
- end
data/spec/ie/pr_spec.rb DELETED
@@ -1,36 +0,0 @@
1
- require "spec_helper"
2
- require_relative "shared_examples_for_to_remove_all_masks"
3
-
4
- describe BrDocuments::IE::PR do
5
- describe "#formatted" do
6
- it "returns a formatted ie" do
7
- ie = described_class.new("1234567890")
8
- expect(ie.formatted).to eq "12345678-90"
9
- end
10
- end
11
-
12
- describe "#valid?" do
13
- it "is invalid with malformed number" do
14
- ["1016323-850", "10163238.50"].each do |number|
15
- ie = described_class.new(number)
16
- expect(ie).to_not be_valid
17
- end
18
- end
19
-
20
- it "is invalid with invalid check number" do
21
- ["10163238-51", "10163238-40"].each do |number|
22
- ie = described_class.new(number)
23
- expect(ie).to_not be_valid
24
- end
25
- end
26
-
27
- it "is valid with valid number" do
28
- ["1016323850", "10163238-50"].each do |number|
29
- ie = described_class.new(number)
30
- expect(ie).to be_valid
31
- end
32
- end
33
-
34
- include_examples "for to remove all masks", "10163238-50"
35
- end
36
- end
data/spec/ie/rj_spec.rb DELETED
@@ -1,43 +0,0 @@
1
- require "spec_helper"
2
- require_relative "shared_examples_for_to_remove_all_masks"
3
-
4
- describe BrDocuments::IE::RJ do
5
- describe "#formatted" do
6
- it "returns a formatted ie" do
7
- ie = described_class.new("12345678")
8
- expect(ie.formatted).to eq "12.345.67-8"
9
- end
10
- end
11
-
12
- describe "#valid?" do
13
- it "is invalid with malformed number" do
14
- ["00.55.55.25", "34.09.25-08", "0A220C18"].each do |number|
15
- ie = described_class.new(number)
16
- expect(ie).to_not be_valid
17
- end
18
- end
19
-
20
- it "is invalid with length different to 8" do
21
- ["1234567890", "12345"].each do |number|
22
- ie = described_class.new(number)
23
- expect(ie).to_not be_valid
24
- end
25
- end
26
-
27
- it "is invalid with invalid check number" do
28
- ["99228676", "48388923"].each do |number|
29
- ie = described_class.new(number)
30
- expect(ie).to_not be_valid
31
- end
32
- end
33
-
34
- it "is valid with valid number" do
35
- ["80172010", "31.864.95-0", "85.994.964"].each do |number|
36
- ie = described_class.new(number)
37
- expect(ie).to be_valid
38
- end
39
- end
40
-
41
- include_examples "for to remove all masks", "31.864.95-0"
42
- end
43
- end
data/spec/ie/rn_spec.rb DELETED
@@ -1,62 +0,0 @@
1
- require "spec_helper"
2
- require_relative "shared_examples_for_to_remove_all_masks"
3
-
4
- describe BrDocuments::IE::RN do
5
- describe "#formatted" do
6
- context "when having 9 digits" do
7
- it "returns a formatted ie" do
8
- ie = described_class.new("123456789")
9
- expect(ie.formatted).to eq "12.345.678-9"
10
- end
11
- end
12
-
13
- context "when having 10 digits" do
14
- it "returns a formatted ie" do
15
- ie = described_class.new("1234567890")
16
- expect(ie.formatted).to eq "12.3.456.789-0"
17
- end
18
- end
19
- end
20
-
21
- describe "#valid?" do
22
- it "is invalid with malformed number" do
23
- ["9.012.207-95", "617.964.80-7", "25.9AB.924-6"].each do |number|
24
- ie = described_class.new(number)
25
- expect(ie).to_not be_valid
26
- end
27
- end
28
-
29
- it "is invalid with length different to 9 or 10" do
30
- ["12345678", "12345678901"].each do |number|
31
- ie = described_class.new(number)
32
- expect(ie).to_not be_valid
33
- end
34
- end
35
-
36
- context "when having 9 digits" do
37
- it "is invalid with invalid check number" do
38
- ie = described_class.new("794050643")
39
- expect(ie).to_not be_valid
40
- end
41
-
42
- it "is valid with valid number" do
43
- ie = described_class.new("200400401")
44
- expect(ie).to be_valid
45
- end
46
- end
47
-
48
- context "when having 10 digits" do
49
- it "is invalid with invalid check number" do
50
- ie = described_class.new("1153296142")
51
- expect(ie).to_not be_valid
52
- end
53
-
54
- it "is valid with valid number" do
55
- ie = described_class.new("2000400400")
56
- expect(ie).to be_valid
57
- end
58
- end
59
-
60
- include_examples "for to remove all masks", "20.0.040.040-0"
61
- end
62
- end