nfe_reader 1.0.5 → 1.0.6

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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/lib/nfe_reader.rb +4 -4
  4. data/lib/nfe_reader/address.rb +38 -0
  5. data/lib/nfe_reader/authorization.rb +8 -10
  6. data/lib/nfe_reader/billing.rb +21 -0
  7. data/lib/nfe_reader/billing/duplicate.rb +14 -0
  8. data/lib/nfe_reader/carrier.rb +12 -14
  9. data/lib/nfe_reader/customer.rb +15 -57
  10. data/lib/nfe_reader/delivery.rb +16 -18
  11. data/lib/nfe_reader/document.rb +63 -65
  12. data/lib/nfe_reader/export.rb +8 -10
  13. data/lib/nfe_reader/fiscal.rb +29 -31
  14. data/lib/nfe_reader/header.rb +114 -123
  15. data/lib/nfe_reader/helpers/attribute_helper.rb +24 -0
  16. data/lib/nfe_reader/helpers/creator_helper.rb +40 -0
  17. data/lib/{helpers → nfe_reader/helpers}/nokogiri_hash.rb +2 -0
  18. data/lib/nfe_reader/information.rb +17 -19
  19. data/lib/nfe_reader/nfe.rb +78 -87
  20. data/lib/nfe_reader/person.rb +53 -0
  21. data/lib/nfe_reader/product.rb +69 -67
  22. data/lib/nfe_reader/product/armament.rb +18 -20
  23. data/lib/nfe_reader/product/cane.rb +22 -24
  24. data/lib/nfe_reader/product/exportation.rb +15 -17
  25. data/lib/nfe_reader/product/fuel.rb +13 -15
  26. data/lib/nfe_reader/product/importation.rb +42 -44
  27. data/lib/nfe_reader/product/medicament.rb +15 -17
  28. data/lib/nfe_reader/product/vehicle.rb +113 -115
  29. data/lib/nfe_reader/provider.rb +10 -40
  30. data/lib/nfe_reader/purchase.rb +9 -12
  31. data/lib/nfe_reader/removal.rb +17 -19
  32. data/lib/nfe_reader/taxation/cofins.rb +41 -41
  33. data/lib/nfe_reader/taxation/cofins_st.rb +15 -17
  34. data/lib/nfe_reader/taxation/icms.rb +80 -81
  35. data/lib/nfe_reader/taxation/importation_tax.rb +14 -16
  36. data/lib/nfe_reader/taxation/ipi.rb +35 -37
  37. data/lib/nfe_reader/taxation/issqn.rb +17 -19
  38. data/lib/nfe_reader/taxation/pis.rb +41 -41
  39. data/lib/nfe_reader/taxation/pis_st.rb +16 -18
  40. data/lib/nfe_reader/total.rb +71 -71
  41. data/lib/nfe_reader/transport.rb +76 -89
  42. data/lib/nfe_reader/version.rb +2 -4
  43. data/nfe-reader.gemspec +2 -1
  44. data/test/nfe_reader/address_test.rb +75 -0
  45. data/test/nfe_reader/authorization_test.rb +2 -2
  46. data/test/nfe_reader/{collection → billing}/duplicate_test.rb +2 -2
  47. data/test/nfe_reader/{collection_test.rb → billing_test.rb} +13 -13
  48. data/test/nfe_reader/cane_test.rb +2 -2
  49. data/test/nfe_reader/carrier_test.rb +4 -4
  50. data/test/nfe_reader/customer_test.rb +6 -101
  51. data/test/nfe_reader/delivery_test.rb +2 -2
  52. data/test/nfe_reader/document_test.rb +2 -2
  53. data/test/nfe_reader/export_test.rb +2 -2
  54. data/test/nfe_reader/fiscal_test.rb +2 -2
  55. data/test/nfe_reader/header_test.rb +2 -2
  56. data/test/{helpers → nfe_reader/helpers}/attributte_helper_test.rb +3 -3
  57. data/test/{helpers → nfe_reader/helpers}/creator_helper_test.rb +3 -3
  58. data/test/{helpers → nfe_reader/helpers}/nokogiri_test.rb +1 -1
  59. data/test/nfe_reader/information_test.rb +2 -2
  60. data/test/nfe_reader/nfe_test.rb +13 -13
  61. data/test/nfe_reader/person_test.rb +60 -0
  62. data/test/nfe_reader/product/armament_test.rb +2 -2
  63. data/test/nfe_reader/product/exportation_test.rb +2 -2
  64. data/test/nfe_reader/product/fuel_test.rb +2 -2
  65. data/test/nfe_reader/product/importation_test.rb +2 -2
  66. data/test/nfe_reader/product/medicament_test.rb +2 -2
  67. data/test/nfe_reader/product/vehicle_test.rb +2 -2
  68. data/test/nfe_reader/product_test.rb +2 -2
  69. data/test/nfe_reader/provider_test.rb +5 -118
  70. data/test/nfe_reader/purchase_test.rb +2 -2
  71. data/test/nfe_reader/removal_test.rb +2 -2
  72. data/test/nfe_reader/taxation/cofins_st_test.rb +2 -2
  73. data/test/nfe_reader/taxation/cofins_test.rb +2 -2
  74. data/test/nfe_reader/taxation/icms_test.rb +2 -2
  75. data/test/nfe_reader/taxation/importation_tax_test.rb +2 -2
  76. data/test/nfe_reader/taxation/ipi_test.rb +2 -2
  77. data/test/nfe_reader/taxation/issqn_test.rb +2 -2
  78. data/test/nfe_reader/taxation/pis_st_test.rb +2 -2
  79. data/test/nfe_reader/taxation/pis_test.rb +2 -2
  80. data/test/nfe_reader/total_test.rb +2 -2
  81. data/test/nfe_reader/transport_test.rb +3 -3
  82. metadata +37 -17
  83. data/lib/helpers/attribute_helper.rb +0 -18
  84. data/lib/helpers/creator_helper.rb +0 -32
  85. data/lib/nfe_reader/collection.rb +0 -38
  86. data/lib/nfe_reader/collection/duplicate.rb +0 -16
@@ -1,8 +1,8 @@
1
- require File.expand_path("../../test_helper", __FILE__)
1
+ require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe AttributeHelper do
3
+ describe NfeReader::AttributeHelper do
4
4
  class AttributeTest
5
- include AttributeHelper
5
+ include NfeReader::AttributeHelper
6
6
  attr_accessor :first_name, :last_name
7
7
 
8
8
  def initialize( attrs= {})
@@ -1,8 +1,8 @@
1
- require File.expand_path("../../test_helper", __FILE__)
1
+ require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe CreatorHelper do
3
+ describe NfeReader::CreatorHelper do
4
4
  class CreatorTest < Struct.new(:name)
5
- include CreatorHelper
5
+ include NfeReader::CreatorHelper
6
6
  end
7
7
 
8
8
  class ResourceTest < Struct.new(:name)
@@ -1,4 +1,4 @@
1
- require File.expand_path("../../test_helper", __FILE__)
1
+ require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
3
  describe Nokogiri::XML::Node do
4
4
  def xml
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Information do
3
+ describe NfeReader::Information do
4
4
  def nfe_hash
5
5
  {
6
6
  infAdic: {
@@ -25,7 +25,7 @@ describe Nfe::Reader::Information do
25
25
  }
26
26
  end
27
27
 
28
- let(:information) { Nfe::Reader::Information.new(nfe_hash[:infAdic]) }
28
+ let(:information) { NfeReader::Information.new(nfe_hash[:infAdic]) }
29
29
 
30
30
  it '#information' do
31
31
  information.information.must_equal 'Information'
@@ -1,7 +1,7 @@
1
1
  require File.expand_path("../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Nfe do
4
- let (:nfe) { Nfe::Reader::Nfe.new(File.open(file)) }
3
+ describe NfeReader::Nfe do
4
+ let (:nfe) { NfeReader::Nfe.new(File.open(file)) }
5
5
 
6
6
  describe 'many products' do
7
7
  let(:file) { File.open(File.expand_path("../../files/sample-nfe.xml", __FILE__))}
@@ -19,23 +19,23 @@ describe Nfe::Reader::Nfe do
19
19
  end
20
20
 
21
21
  it '#customer' do
22
- nfe.customer.must_be_instance_of Nfe::Reader::Customer
22
+ nfe.customer.must_be_instance_of NfeReader::Customer
23
23
  end
24
24
 
25
25
  it '#information' do
26
- nfe.information.must_be_instance_of Nfe::Reader::Information
26
+ nfe.information.must_be_instance_of NfeReader::Information
27
27
  end
28
28
 
29
29
  it '#header' do
30
- nfe.header.must_be_instance_of Nfe::Reader::Header
30
+ nfe.header.must_be_instance_of NfeReader::Header
31
31
  end
32
32
 
33
33
  it '#provider' do
34
- nfe.provider.must_be_instance_of Nfe::Reader::Provider
34
+ nfe.provider.must_be_instance_of NfeReader::Provider
35
35
  end
36
36
 
37
37
  it '#customer' do
38
- nfe.customer.must_be_instance_of Nfe::Reader::Customer
38
+ nfe.customer.must_be_instance_of NfeReader::Customer
39
39
  end
40
40
 
41
41
  it '#products' do
@@ -43,15 +43,15 @@ describe Nfe::Reader::Nfe do
43
43
  end
44
44
 
45
45
  it '#products' do
46
- nfe.products.first.must_be_instance_of Nfe::Reader::Product
46
+ nfe.products.first.must_be_instance_of NfeReader::Product
47
47
  end
48
48
 
49
- it '#collection' do
50
- nfe.collection.must_be_instance_of Nfe::Reader::Collection
49
+ it '#billing' do
50
+ nfe.billing.must_be_instance_of NfeReader::Billing
51
51
  end
52
52
 
53
53
  it '#transport' do
54
- nfe.transport.must_be_instance_of Nfe::Reader::Transport
54
+ nfe.transport.must_be_instance_of NfeReader::Transport
55
55
  end
56
56
 
57
57
  it '#purchase' do
@@ -107,7 +107,7 @@ describe Nfe::Reader::Nfe do
107
107
  end
108
108
 
109
109
  it '#total' do
110
- nfe.total.must_be_instance_of Nfe::Reader::Total
110
+ nfe.total.must_be_instance_of NfeReader::Total
111
111
  end
112
112
  end
113
113
 
@@ -119,7 +119,7 @@ describe Nfe::Reader::Nfe do
119
119
  end
120
120
 
121
121
  it '#products' do
122
- nfe.products.first.must_be_instance_of Nfe::Reader::Product
122
+ nfe.products.first.must_be_instance_of NfeReader::Product
123
123
  end
124
124
  end
125
125
  end
@@ -0,0 +1,60 @@
1
+ require File.expand_path("../../test_helper", __FILE__)
2
+
3
+ describe NfeReader::Person do
4
+ def cte_hash
5
+ {
6
+ CNPJ: '58571647000153',
7
+ CPF: '63123256952',
8
+ IE: '1029384756',
9
+ xNome: 'Person',
10
+ xFant: 'Fantasy',
11
+ fone: '55 5555-5555',
12
+ email: 'email@localhost',
13
+ UF: 'ST',
14
+ RNTRC: '123812083',
15
+ tpProp: '1'
16
+ }
17
+ end
18
+
19
+ let(:person) { NfeReader::Person.new(cte_hash) }
20
+
21
+ it '#cnpj' do
22
+ person.cnpj.must_equal cte_hash[:CNPJ]
23
+ end
24
+
25
+ it '#cpf' do
26
+ person.cpf.must_equal cte_hash[:CPF]
27
+ end
28
+
29
+ it '#state_registration' do
30
+ person.state_registration.must_equal cte_hash[:IE]
31
+ end
32
+
33
+ it '#name' do
34
+ person.name.must_equal cte_hash[:xNome]
35
+ end
36
+
37
+ it '#fantasy' do
38
+ person.fantasy.must_equal cte_hash[:xFant]
39
+ end
40
+
41
+ it '#phone' do
42
+ person.phone.must_equal cte_hash[:fone]
43
+ end
44
+
45
+ it '#email' do
46
+ person.email.must_equal cte_hash[:email]
47
+ end
48
+
49
+ it '#state' do
50
+ person.state.must_equal cte_hash[:UF]
51
+ end
52
+
53
+ it '#rntrc' do
54
+ person.rntrc.must_equal cte_hash[:RNTRC]
55
+ end
56
+
57
+ it '#owner_kind' do
58
+ person.owner_kind.must_equal cte_hash[:tpProp]
59
+ end
60
+ end
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Armament do
3
+ describe NfeReader::Armament do
4
4
  def nfe_hash
5
5
  {
6
6
  armament: {
@@ -12,7 +12,7 @@ describe Nfe::Reader::Armament do
12
12
  }
13
13
  end
14
14
 
15
- let(:armament) { Nfe::Reader::Armament.new(nfe_hash[:armament]) }
15
+ let(:armament) { NfeReader::Armament.new(nfe_hash[:armament]) }
16
16
 
17
17
  it '#kind' do
18
18
  armament.kind.must_equal '1'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Exportation do
3
+ describe NfeReader::Exportation do
4
4
  def nfe_hash
5
5
  {
6
6
  detExport: {
@@ -14,7 +14,7 @@ describe Nfe::Reader::Exportation do
14
14
  }
15
15
  end
16
16
 
17
- let(:exportation) { Nfe::Reader::Exportation.new(nfe_hash[:detExport]) }
17
+ let(:exportation) { NfeReader::Exportation.new(nfe_hash[:detExport]) }
18
18
 
19
19
  it '#drawnback' do
20
20
  exportation.drawnback.must_equal '1'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Fuel do
3
+ describe NfeReader::Fuel do
4
4
  def nfe_hash
5
5
  {
6
6
  fuel: {
@@ -16,7 +16,7 @@ describe Nfe::Reader::Fuel do
16
16
  }
17
17
  end
18
18
 
19
- let(:fuel) { Nfe::Reader::Fuel.new(nfe_hash[:fuel]) }
19
+ let(:fuel) { NfeReader::Fuel.new(nfe_hash[:fuel]) }
20
20
 
21
21
  it '#anp' do
22
22
  fuel.anp.must_equal '10613541'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Importation do
3
+ describe NfeReader::Importation do
4
4
  def nfe_hash
5
5
  {
6
6
  importation: {
@@ -25,7 +25,7 @@ describe Nfe::Reader::Importation do
25
25
  }
26
26
  end
27
27
 
28
- let(:importation) { Nfe::Reader::Importation.new(nfe_hash[:importation]) }
28
+ let(:importation) { NfeReader::Importation.new(nfe_hash[:importation]) }
29
29
 
30
30
  it '#afrmm' do
31
31
  importation.afrmm.must_equal '100.00'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Medicament do
3
+ describe NfeReader::Medicament do
4
4
  def nfe_hash
5
5
  {
6
6
  medicament: {
@@ -13,7 +13,7 @@ describe Nfe::Reader::Medicament do
13
13
  }
14
14
  end
15
15
 
16
- let(:medicament) { Nfe::Reader::Medicament.new(nfe_hash[:medicament]) }
16
+ let(:medicament) { NfeReader::Medicament.new(nfe_hash[:medicament]) }
17
17
 
18
18
  it '#lot_number' do
19
19
  medicament.lot_number.must_equal '123980'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Vehicle do
3
+ describe NfeReader::Vehicle do
4
4
  def nfe_hash
5
5
  {
6
6
  vehicle: {
@@ -33,7 +33,7 @@ describe Nfe::Reader::Vehicle do
33
33
  }
34
34
  end
35
35
 
36
- let(:vehicle) { Nfe::Reader::Vehicle.new(nfe_hash[:vehicle]) }
36
+ let(:vehicle) { NfeReader::Vehicle.new(nfe_hash[:vehicle]) }
37
37
 
38
38
  it '#operation' do
39
39
  vehicle.operation.must_equal '1'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Product do
3
+ describe NfeReader::Product do
4
4
  def product_hash
5
5
  {
6
6
  product: {
@@ -33,7 +33,7 @@ describe Nfe::Reader::Product do
33
33
  }
34
34
  end
35
35
 
36
- let(:product) { Nfe::Reader::Product.new(product_hash[:product]) }
36
+ let(:product) { NfeReader::Product.new(product_hash[:product]) }
37
37
 
38
38
  it '#demand_item' do
39
39
  product.demand_item.must_equal '23'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Provider do
3
+ describe NfeReader::Provider do
4
4
  def provider_hash
5
5
  {
6
6
  emit: {
@@ -30,126 +30,13 @@ describe Nfe::Reader::Provider do
30
30
  }
31
31
  end
32
32
 
33
- describe 'with address' do
34
- let(:provider) { Nfe::Reader::Provider.new(provider_hash[:emit]) }
33
+ let(:provider) { NfeReader::Provider.new(provider_hash[:emit]) }
35
34
 
36
- it '#cnpj' do
37
- provider.cnpj.must_equal '99819146000120'
38
- end
39
-
40
- it '#cpf' do
41
- provider.cpf.must_equal '64046757655'
42
- end
43
-
44
- it '#name' do
45
- provider.name.must_equal 'Provider'
46
- end
47
-
48
- it '#fantasia' do
49
- provider.fantasy.must_equal 'Provider'
50
- end
51
-
52
- it '#state_registration' do
53
- provider.state_registration.must_equal '15786913'
54
- end
55
-
56
- it '#state_registration_st' do
57
- provider.state_registration_st.must_equal '975940113'
58
- end
59
-
60
- it '#city_registration' do
61
- provider.city_registration.must_equal '3856749'
62
- end
63
-
64
- it '#regime' do
65
- provider.regime.must_equal '1'
66
- end
67
-
68
- it '#cnae' do
69
- provider.cnae.must_equal '123456'
70
- end
71
-
72
- it '#phone' do
73
- provider.phone.must_equal '55 5555-5555'
74
- end
75
-
76
- it '#number' do
77
- provider.number.must_equal '123'
78
- end
79
-
80
- it '#complement' do
81
- provider.complement.must_equal ''
35
+ it '#person' do
36
+ provider.person.must_be_instance_of NfeReader::Person
82
37
  end
83
38
 
84
39
  it '#address' do
85
- provider.address.must_equal 'Green Street'
40
+ provider.address.must_be_instance_of NfeReader::Address
86
41
  end
87
-
88
- it '#neighborhood' do
89
- provider.neighborhood.must_equal 'Neighborhood'
90
- end
91
-
92
- it '#city_code' do
93
- provider.city_code.must_equal '1246'
94
- end
95
-
96
- it '#city' do
97
- provider.city.must_equal 'City'
98
- end
99
-
100
- it '#state' do
101
- provider.state.must_equal 'ST'
102
- end
103
-
104
- it '#country_code' do
105
- provider.country_code.must_equal '1058'
106
- end
107
-
108
- it '#country' do
109
- provider.country.must_equal 'Brazil'
110
- end
111
-
112
- it '#zip_code' do
113
- provider.zip_code.must_equal '00000-000'
114
- end
115
- end
116
-
117
- describe 'without address' do
118
- let(:provider) { Nfe::Reader::Provider.new }
119
-
120
- it '#phone' do
121
- provider.number.must_be_nil
122
- end
123
-
124
- it '#number' do
125
- provider.number.must_be_nil
126
- end
127
-
128
- it '#address' do
129
- provider.address.must_be_nil
130
- end
131
- it '#neighborhood' do
132
- provider.neighborhood.must_be_nil
133
- end
134
-
135
- it '#city_code' do
136
- provider.city_code.must_be_nil
137
- end
138
-
139
- it '#city' do
140
- provider.city.must_be_nil
141
- end
142
-
143
- it '#state' do
144
- provider.state.must_be_nil
145
- end
146
-
147
- it '#country_code' do
148
- provider.country_code.must_be_nil
149
- end
150
-
151
- it '#country' do
152
- provider.country.must_be_nil
153
- end
154
- end
155
42
  end
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Purchase do
3
+ describe NfeReader::Purchase do
4
4
  def nfe_hash
5
5
  {
6
6
  compra: {
@@ -11,7 +11,7 @@ describe Nfe::Reader::Purchase do
11
11
  }
12
12
  end
13
13
 
14
- let(:purchase) { Nfe::Reader::Purchase.new(nfe_hash[:compra]) }
14
+ let(:purchase) { NfeReader::Purchase.new(nfe_hash[:compra]) }
15
15
 
16
16
  it '#number' do
17
17
  purchase.number.must_equal '10001'