br_documents 0.2.0 → 0.2.3
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.
- checksums.yaml +4 -4
- data/.github/workflows/config.yml +12 -26
- data/.rubocop.yml +29 -21
- data/.tool-versions +1 -0
- data/Gemfile.lock +7 -4
- data/Rakefile +1 -1
- data/br_documents.gemspec +3 -0
- data/lib/br_documents/cnpj_cpf/document.rb +1 -1
- data/lib/br_documents/{gtin/gtin.rb → gtin.rb} +2 -2
- data/lib/br_documents/ie/ba.rb +1 -1
- data/lib/br_documents/ie/mg.rb +1 -1
- data/lib/br_documents/ie/mt.rb +1 -1
- data/lib/br_documents/ie_validator.rb +1 -1
- data/lib/br_documents/suframa.rb +46 -0
- data/lib/br_documents/version.rb +1 -1
- data/spec/{cnpj_cpf → br_documents/cnpj_cpf}/cnpj_spec.rb +13 -13
- data/spec/{cnpj_cpf → br_documents/cnpj_cpf}/cpf_spec.rb +13 -13
- data/spec/br_documents/cnpj_validator_spec.rb +36 -0
- data/spec/br_documents/cpf_validator_spec.rb +36 -0
- data/spec/{gtin → br_documents}/gtin_spec.rb +2 -2
- data/spec/{gtin_validator_spec.rb → br_documents/gtin_validator_spec.rb} +3 -3
- data/spec/{ie → br_documents/ie}/ac_spec.rb +3 -3
- data/spec/{ie → br_documents/ie}/al_spec.rb +2 -2
- data/spec/{ie → br_documents/ie}/am_spec.rb +3 -3
- data/spec/{ie → br_documents/ie}/ap_spec.rb +2 -2
- data/spec/{ie → br_documents/ie}/ba_spec.rb +4 -4
- data/spec/{ie → br_documents/ie}/ce_spec.rb +0 -0
- data/spec/{ie → br_documents/ie}/df_spec.rb +3 -3
- data/spec/{ie → br_documents/ie}/es_spec.rb +0 -0
- data/spec/{ie → br_documents/ie}/factory_spec.rb +28 -28
- data/spec/{ie → br_documents/ie}/go_spec.rb +3 -3
- data/spec/{ie → br_documents/ie}/ma_spec.rb +0 -0
- data/spec/{ie → br_documents/ie}/mg_spec.rb +6 -6
- data/spec/{ie → br_documents/ie}/ms_spec.rb +0 -0
- data/spec/{ie → br_documents/ie}/mt_spec.rb +8 -3
- data/spec/{ie → br_documents/ie}/pa_spec.rb +3 -3
- data/spec/{ie → br_documents/ie}/pb_spec.rb +0 -0
- data/spec/{ie → br_documents/ie}/pe_spec.rb +4 -4
- data/spec/{ie → br_documents/ie}/pi_spec.rb +0 -0
- data/spec/{ie → br_documents/ie}/pr_spec.rb +2 -2
- data/spec/{ie → br_documents/ie}/rj_spec.rb +3 -3
- data/spec/{ie → br_documents/ie}/rn_spec.rb +4 -4
- data/spec/{ie → br_documents/ie}/ro_spec.rb +4 -4
- data/spec/{ie → br_documents/ie}/rr_spec.rb +3 -3
- data/spec/{ie → br_documents/ie}/rs_spec.rb +3 -3
- data/spec/{ie → br_documents/ie}/sc_spec.rb +3 -3
- data/spec/{ie → br_documents/ie}/se_spec.rb +0 -0
- data/spec/{ie → br_documents/ie}/shared_examples_for_pattern1.rb +3 -3
- data/spec/{ie → br_documents/ie}/shared_examples_for_to_remove_all_masks.rb +0 -0
- data/spec/{ie → br_documents/ie}/sp_spec.rb +2 -2
- data/spec/{ie → br_documents/ie}/to_spec.rb +6 -6
- data/spec/{ie_validator_spec.rb → br_documents/ie_validator_spec.rb} +7 -6
- data/spec/br_documents/suframa_spec.rb +73 -0
- data/spec/{suframa_validator_spec.rb → br_documents/suframa_validator_spec.rb} +4 -4
- metadata +100 -85
- data/lib/br_documents/suframa/suframa.rb +0 -60
- data/spec/cnpj_validator_spec.rb +0 -36
- data/spec/cpf_validator_spec.rb +0 -36
- data/spec/suframa/suframa_spec.rb +0 -109
@@ -1,109 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe BrDocuments::Suframa do
|
4
|
-
subject { described_class.new }
|
5
|
-
|
6
|
-
describe '#formatted' do
|
7
|
-
it 'returns the formatted number' do
|
8
|
-
value = '100698107'
|
9
|
-
|
10
|
-
subject = described_class.new(value)
|
11
|
-
|
12
|
-
expect(subject.formatted).to eql '10.0698.107'
|
13
|
-
end
|
14
|
-
|
15
|
-
context 'when number is invalid' do
|
16
|
-
it 'returns a empty string' do
|
17
|
-
value = '123'
|
18
|
-
|
19
|
-
subject = described_class.new(value)
|
20
|
-
|
21
|
-
expect(subject.formatted).to eql ''
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
it 'is invalid if number is malformed' do
|
26
|
-
['121.23.4123', '5.50.309.012', '5.503.090.12'].each do |number|
|
27
|
-
suframa = BrDocuments::Suframa.new(number)
|
28
|
-
|
29
|
-
expect(suframa).to_not be_valid
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
it 'is invalid with a number longer than 9' do
|
34
|
-
['1234567890', '12.3456.7890'].each do |number|
|
35
|
-
suframa = BrDocuments::Suframa.new(number)
|
36
|
-
|
37
|
-
expect(suframa).to_not be_valid
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
it 'is invalid with a number shorter than 9' do
|
42
|
-
['12345678', '12.3456.78'].each do |number|
|
43
|
-
suframa = BrDocuments::Suframa.new(number)
|
44
|
-
|
45
|
-
expect(suframa).to_not be_valid
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
it 'is invalid with a sequence of the same number' do
|
50
|
-
['11.1111.111', '111111111'].each do |number|
|
51
|
-
suframa = BrDocuments::Suframa.new(number)
|
52
|
-
|
53
|
-
expect(suframa).to_not be_valid
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
it 'is invalid with invalid verifying digit' do
|
58
|
-
['55.0309.010', '550309010'].each do |number|
|
59
|
-
suframa = BrDocuments::Suframa.new(number)
|
60
|
-
|
61
|
-
expect(suframa).to_not be_valid
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
it 'is valid with correct number' do
|
66
|
-
['11.1279.100', '10.1040.105', '100628109', '100698107'].each do |number|
|
67
|
-
suframa = BrDocuments::Suframa.new(number)
|
68
|
-
|
69
|
-
expect(suframa).to be_valid
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
context 'activity sector' do
|
74
|
-
it 'is valid when activity_sector is in 01, 02, 10, 11, 20, 60' do
|
75
|
-
['11.1279.100', '10.1040.105'].each do |number|
|
76
|
-
suframa = BrDocuments::Suframa.new(number)
|
77
|
-
|
78
|
-
expect(suframa).to be_valid
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
it 'is invalid when activity_sector is not in 01, 02, 10, 11, 20, 60' do
|
83
|
-
['17.1279.107', '141161108'].each do |number|
|
84
|
-
suframa = BrDocuments::Suframa.new(number)
|
85
|
-
|
86
|
-
expect(suframa).to_not be_valid
|
87
|
-
end
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
context 'administration unit' do
|
92
|
-
it 'is valid when adm_unit is in 01, 10, 30' do
|
93
|
-
['11.1279.100', '101160100'].each do |number|
|
94
|
-
suframa = BrDocuments::Suframa.new(number)
|
95
|
-
|
96
|
-
expect(suframa).to be_valid
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
it 'is invalid when adm_unit is not in 01, 10, 30' do
|
101
|
-
['11.1279.124', '101160160'].each do |number|
|
102
|
-
suframa = BrDocuments::Suframa.new(number)
|
103
|
-
|
104
|
-
expect(suframa).to_not be_valid
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
109
|
-
end
|