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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/config.yml +12 -26
  3. data/.rubocop.yml +29 -21
  4. data/.tool-versions +1 -0
  5. data/Gemfile.lock +7 -4
  6. data/Rakefile +1 -1
  7. data/br_documents.gemspec +3 -0
  8. data/lib/br_documents/cnpj_cpf/document.rb +1 -1
  9. data/lib/br_documents/{gtin/gtin.rb → gtin.rb} +2 -2
  10. data/lib/br_documents/ie/ba.rb +1 -1
  11. data/lib/br_documents/ie/mg.rb +1 -1
  12. data/lib/br_documents/ie/mt.rb +1 -1
  13. data/lib/br_documents/ie_validator.rb +1 -1
  14. data/lib/br_documents/suframa.rb +46 -0
  15. data/lib/br_documents/version.rb +1 -1
  16. data/spec/{cnpj_cpf → br_documents/cnpj_cpf}/cnpj_spec.rb +13 -13
  17. data/spec/{cnpj_cpf → br_documents/cnpj_cpf}/cpf_spec.rb +13 -13
  18. data/spec/br_documents/cnpj_validator_spec.rb +36 -0
  19. data/spec/br_documents/cpf_validator_spec.rb +36 -0
  20. data/spec/{gtin → br_documents}/gtin_spec.rb +2 -2
  21. data/spec/{gtin_validator_spec.rb → br_documents/gtin_validator_spec.rb} +3 -3
  22. data/spec/{ie → br_documents/ie}/ac_spec.rb +3 -3
  23. data/spec/{ie → br_documents/ie}/al_spec.rb +2 -2
  24. data/spec/{ie → br_documents/ie}/am_spec.rb +3 -3
  25. data/spec/{ie → br_documents/ie}/ap_spec.rb +2 -2
  26. data/spec/{ie → br_documents/ie}/ba_spec.rb +4 -4
  27. data/spec/{ie → br_documents/ie}/ce_spec.rb +0 -0
  28. data/spec/{ie → br_documents/ie}/df_spec.rb +3 -3
  29. data/spec/{ie → br_documents/ie}/es_spec.rb +0 -0
  30. data/spec/{ie → br_documents/ie}/factory_spec.rb +28 -28
  31. data/spec/{ie → br_documents/ie}/go_spec.rb +3 -3
  32. data/spec/{ie → br_documents/ie}/ma_spec.rb +0 -0
  33. data/spec/{ie → br_documents/ie}/mg_spec.rb +6 -6
  34. data/spec/{ie → br_documents/ie}/ms_spec.rb +0 -0
  35. data/spec/{ie → br_documents/ie}/mt_spec.rb +8 -3
  36. data/spec/{ie → br_documents/ie}/pa_spec.rb +3 -3
  37. data/spec/{ie → br_documents/ie}/pb_spec.rb +0 -0
  38. data/spec/{ie → br_documents/ie}/pe_spec.rb +4 -4
  39. data/spec/{ie → br_documents/ie}/pi_spec.rb +0 -0
  40. data/spec/{ie → br_documents/ie}/pr_spec.rb +2 -2
  41. data/spec/{ie → br_documents/ie}/rj_spec.rb +3 -3
  42. data/spec/{ie → br_documents/ie}/rn_spec.rb +4 -4
  43. data/spec/{ie → br_documents/ie}/ro_spec.rb +4 -4
  44. data/spec/{ie → br_documents/ie}/rr_spec.rb +3 -3
  45. data/spec/{ie → br_documents/ie}/rs_spec.rb +3 -3
  46. data/spec/{ie → br_documents/ie}/sc_spec.rb +3 -3
  47. data/spec/{ie → br_documents/ie}/se_spec.rb +0 -0
  48. data/spec/{ie → br_documents/ie}/shared_examples_for_pattern1.rb +3 -3
  49. data/spec/{ie → br_documents/ie}/shared_examples_for_to_remove_all_masks.rb +0 -0
  50. data/spec/{ie → br_documents/ie}/sp_spec.rb +2 -2
  51. data/spec/{ie → br_documents/ie}/to_spec.rb +6 -6
  52. data/spec/{ie_validator_spec.rb → br_documents/ie_validator_spec.rb} +7 -6
  53. data/spec/br_documents/suframa_spec.rb +73 -0
  54. data/spec/{suframa_validator_spec.rb → br_documents/suframa_validator_spec.rb} +4 -4
  55. metadata +100 -85
  56. data/lib/br_documents/suframa/suframa.rb +0 -60
  57. data/spec/cnpj_validator_spec.rb +0 -36
  58. data/spec/cpf_validator_spec.rb +0 -36
  59. 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