nfe_reader 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +23 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +38 -0
  6. data/Rakefile +13 -0
  7. data/lib/nfe_reader/authorization.rb +12 -0
  8. data/lib/nfe_reader/carrier.rb +16 -0
  9. data/lib/nfe_reader/collection/duplicate.rb +12 -0
  10. data/lib/nfe_reader/collection.rb +34 -0
  11. data/lib/nfe_reader/customer.rb +62 -0
  12. data/lib/nfe_reader/delivery.rb +20 -0
  13. data/lib/nfe_reader/document.rb +73 -0
  14. data/lib/nfe_reader/export.rb +12 -0
  15. data/lib/nfe_reader/fiscal.rb +33 -0
  16. data/lib/nfe_reader/header.rb +129 -0
  17. data/lib/nfe_reader/information.rb +38 -0
  18. data/lib/nfe_reader/product/armament.rb +22 -0
  19. data/lib/nfe_reader/product/cane.rb +42 -0
  20. data/lib/nfe_reader/product/exportation.rb +20 -0
  21. data/lib/nfe_reader/product/fuel.rb +18 -0
  22. data/lib/nfe_reader/product/importation.rb +49 -0
  23. data/lib/nfe_reader/product/medicament.rb +19 -0
  24. data/lib/nfe_reader/product/vehicle.rb +117 -0
  25. data/lib/nfe_reader/product.rb +90 -0
  26. data/lib/nfe_reader/provider.rb +43 -0
  27. data/lib/nfe_reader/purchase.rb +14 -0
  28. data/lib/nfe_reader/removal.rb +20 -0
  29. data/lib/nfe_reader/taxation/cofins.rb +43 -0
  30. data/lib/nfe_reader/taxation/cofins_st.rb +19 -0
  31. data/lib/nfe_reader/taxation/icms.rb +86 -0
  32. data/lib/nfe_reader/taxation/importation_tax.rb +17 -0
  33. data/lib/nfe_reader/taxation/ipi.rb +41 -0
  34. data/lib/nfe_reader/taxation/issqn.rb +22 -0
  35. data/lib/nfe_reader/taxation/pis.rb +42 -0
  36. data/lib/nfe_reader/taxation/pis_st.rb +19 -0
  37. data/lib/nfe_reader/total.rb +76 -0
  38. data/lib/nfe_reader/transport.rb +97 -0
  39. data/lib/nfe_reader/version.rb +5 -0
  40. data/lib/nfe_reader.rb +129 -0
  41. data/lib/nokogiri_hash.rb +60 -0
  42. data/nfe-reader.gemspec +24 -0
  43. data/test/files/sample-nfe.xml +234 -0
  44. data/test/files/sample2-nfe.xml +192 -0
  45. data/test/nfe_reader/authorization_test.rb +22 -0
  46. data/test/nfe_reader/cane_test.rb +71 -0
  47. data/test/nfe_reader/carrier_test.rb +46 -0
  48. data/test/nfe_reader/collection/duplicate_test.rb +27 -0
  49. data/test/nfe_reader/collection_test.rb +78 -0
  50. data/test/nfe_reader/customer_test.rb +133 -0
  51. data/test/nfe_reader/delivery_test.rb +57 -0
  52. data/test/nfe_reader/document_test.rb +113 -0
  53. data/test/nfe_reader/export_test.rb +22 -0
  54. data/test/nfe_reader/fiscal_test.rb +67 -0
  55. data/test/nfe_reader/header_test.rb +135 -0
  56. data/test/nfe_reader/information_test.rb +37 -0
  57. data/test/nfe_reader/product/armament_test.rb +32 -0
  58. data/test/nfe_reader/product/exportation_test.rb +34 -0
  59. data/test/nfe_reader/product/fuel_test.rb +44 -0
  60. data/test/nfe_reader/product/importation_test.rb +64 -0
  61. data/test/nfe_reader/product/medicament_test.rb +37 -0
  62. data/test/nfe_reader/product/vehicle_test.rb +133 -0
  63. data/test/nfe_reader/product_test.rb +125 -0
  64. data/test/nfe_reader/provider_test.rb +155 -0
  65. data/test/nfe_reader/purchase_test.rb +27 -0
  66. data/test/nfe_reader/removal_test.rb +57 -0
  67. data/test/nfe_reader/taxation/cofins_st_test.rb +37 -0
  68. data/test/nfe_reader/taxation/cofins_test.rb +42 -0
  69. data/test/nfe_reader/taxation/icms_test.rb +122 -0
  70. data/test/nfe_reader/taxation/importation_tax_test.rb +32 -0
  71. data/test/nfe_reader/taxation/ipi_test.rb +78 -0
  72. data/test/nfe_reader/taxation/issqn_test.rb +42 -0
  73. data/test/nfe_reader/taxation/pis_st_test.rb +37 -0
  74. data/test/nfe_reader/taxation/pis_test.rb +42 -0
  75. data/test/nfe_reader/total_test.rb +148 -0
  76. data/test/nfe_reader/transport_test.rb +172 -0
  77. data/test/nfe_reader_test.rb +125 -0
  78. data/test/nokogiri_test.rb +27 -0
  79. data/test/test_helper.rb +13 -0
  80. metadata +201 -0
@@ -0,0 +1,133 @@
1
+ require File.expand_path("../../../test_helper", __FILE__)
2
+
3
+ describe Nfe::Vehicle do
4
+ def nfe_hash
5
+ {
6
+ vehicle: {
7
+ pOp: '1',
8
+ chassi: '1234789',
9
+ cCor: '1',
10
+ xCor: 'Black',
11
+ pot: '2.0',
12
+ cilin: '500',
13
+ pesoL: '2.700',
14
+ pesoB: '4.000',
15
+ nSerie: '1235',
16
+ tpComb: '1',
17
+ nMotor: '1351',
18
+ tpComb: '1',
19
+ CMT: '13221',
20
+ dist: '2.3',
21
+ anoMod: '2000',
22
+ anoFab: '2000',
23
+ tpPint: '1',
24
+ tpVeic: '1',
25
+ espVeic: '1',
26
+ VIN: '123123',
27
+ condVeic: '1',
28
+ cMod: '1',
29
+ cCorDEN: '1',
30
+ lota: '5',
31
+ tpRest: '0',
32
+ }
33
+ }
34
+ end
35
+
36
+ let(:vehicle) { Nfe::Vehicle.new(nfe_hash[:vehicle]) }
37
+
38
+ it '#operation' do
39
+ vehicle.operation.must_equal '1'
40
+ end
41
+
42
+ it '#chassi' do
43
+ vehicle.chassi.must_equal '1234789'
44
+ end
45
+
46
+ it '#color' do
47
+ vehicle.color.must_equal '1'
48
+ end
49
+
50
+ it '#color_name' do
51
+ vehicle.color_name.must_equal 'Black'
52
+ end
53
+
54
+ it '#engine_power' do
55
+ vehicle.engine_power.must_equal '2.0'
56
+ end
57
+
58
+ it '#engine_capacities' do
59
+ vehicle.engine_capacities.must_equal '500'
60
+ end
61
+
62
+ it '#weight_net' do
63
+ vehicle.weight_net.must_equal '2.700'
64
+ end
65
+
66
+ it '#weight_gross' do
67
+ vehicle.weight_gross.must_equal '4.000'
68
+ end
69
+
70
+ it '#serie' do
71
+ vehicle.serie.must_equal '1235'
72
+ end
73
+
74
+ it '#fuel_kind' do
75
+ vehicle.fuel_kind.must_equal '1'
76
+ end
77
+
78
+ it '#engine_number' do
79
+ vehicle.engine_number.must_equal '1351'
80
+ end
81
+
82
+ it '#cmt' do
83
+ vehicle.cmt.must_equal '13221'
84
+ end
85
+
86
+ it '#wheelbase' do
87
+ vehicle.wheelbase.must_equal '2.3'
88
+ end
89
+
90
+ it '#year' do
91
+ vehicle.year.must_equal '2000'
92
+ end
93
+
94
+ it '#fabrication_year' do
95
+ vehicle.fabrication_year.must_equal '2000'
96
+ end
97
+
98
+ it '#paint_kind' do
99
+ vehicle.paint_kind.must_equal '1'
100
+ end
101
+
102
+ it '#kind' do
103
+ vehicle.kind.must_equal '1'
104
+ end
105
+
106
+ it '#vehicle_kind' do
107
+ vehicle.vehicle_kind.must_equal '1'
108
+ end
109
+
110
+ it '#vin' do
111
+ vehicle.vin.must_equal '123123'
112
+ end
113
+
114
+ it '#condiction' do
115
+ vehicle.condiction.must_equal '1'
116
+ end
117
+
118
+ it '#model' do
119
+ vehicle.model.must_equal '1'
120
+ end
121
+
122
+ it '#color_code' do
123
+ vehicle.color_code.must_equal '1'
124
+ end
125
+
126
+ it '#capacity' do
127
+ vehicle.capacity.must_equal '5'
128
+ end
129
+
130
+ it '#restriction' do
131
+ vehicle.restriction.must_equal '0'
132
+ end
133
+ end
@@ -0,0 +1,125 @@
1
+ require File.expand_path("../../test_helper", __FILE__)
2
+
3
+ describe Nfe::Product do
4
+ def product_hash
5
+ {
6
+ product: {
7
+ nItem: '1',
8
+ prod: {
9
+ cProd: '0001',
10
+ xProd: 'Product',
11
+ cEAN: '789101312121',
12
+ NCM: '10.10.10.00',
13
+ CFOP: '1111',
14
+ uCom: 'UN',
15
+ qCom: '2',
16
+ vUnCom: '10',
17
+ vProd: '20',
18
+ cEANTrib: '789101312122',
19
+ uTrib: 'UN',
20
+ qTrib: '2',
21
+ vUnTrib: '20',
22
+ indTot: '1',
23
+ EXTIPI: '00',
24
+ vFrete: '0.00',
25
+ vSeg: '2.00',
26
+ vDesc: '0.00',
27
+ vOutro: '4.00',
28
+ xPed: '1001',
29
+ nItemPed: '23'
30
+ },
31
+ imposto: {}
32
+ }
33
+ }
34
+ end
35
+
36
+ let(:product) { Nfe::Product.new(product_hash[:product]) }
37
+
38
+ it '#demand_item' do
39
+ product.demand_item.must_equal '23'
40
+ end
41
+
42
+ it '#demand_number' do
43
+ product.demand_number.must_equal '1001'
44
+ end
45
+
46
+ it '#number' do
47
+ product.number.must_equal '1'
48
+ end
49
+
50
+ it '#product_code' do
51
+ product.product_code.must_equal '0001'
52
+ end
53
+
54
+ it '#product' do
55
+ product.product.must_equal 'Product'
56
+ end
57
+
58
+ it '#ean' do
59
+ product.ean.must_equal '789101312121'
60
+ end
61
+
62
+ it '#ncm' do
63
+ product.ncm.must_equal '10.10.10.00'
64
+ end
65
+
66
+ it '#cfop' do
67
+ product.cfop.must_equal '1111'
68
+ end
69
+
70
+ it '#unit_sale' do
71
+ product.unit_sale.must_equal 'UN'
72
+ end
73
+
74
+ it '#amount_sale' do
75
+ product.amount_sale.must_equal '2'
76
+ end
77
+
78
+ it '#value_sale' do
79
+ product.value_sale.must_equal '10'
80
+ end
81
+
82
+ it '#total' do
83
+ product.total.must_equal '20'
84
+ end
85
+
86
+ it '#gtin' do
87
+ product.gtin.must_equal '789101312122'
88
+ end
89
+
90
+ it '#unit' do
91
+ product.unit.must_equal 'UN'
92
+ end
93
+
94
+ it '#amount' do
95
+ product.amount.must_equal '2'
96
+ end
97
+
98
+ it '#value' do
99
+ product.value.must_equal '20'
100
+ end
101
+
102
+ it '#kind' do
103
+ product.kind.must_equal '1'
104
+ end
105
+
106
+ it '#ipi_exception' do
107
+ product.ipi_exception.must_equal '00'
108
+ end
109
+
110
+ it '#freight' do
111
+ product.freight.must_equal '0.00'
112
+ end
113
+
114
+ it '#insurance' do
115
+ product.insurance.must_equal '2.00'
116
+ end
117
+
118
+ it '#discount' do
119
+ product.discount.must_equal '0.00'
120
+ end
121
+
122
+ it '#other_value' do
123
+ product.other_value.must_equal '4.00'
124
+ end
125
+ end
@@ -0,0 +1,155 @@
1
+ require File.expand_path("../../test_helper", __FILE__)
2
+
3
+ describe Nfe::Provider do
4
+ def provider_hash
5
+ {
6
+ emit: {
7
+ CNPJ: '99819146000120',
8
+ CPF: '64046757655',
9
+ xNome: 'Provider',
10
+ xFant: 'Provider',
11
+ IE: '15786913',
12
+ IEST: '975940113',
13
+ IM: '3856749',
14
+ CRT: '1',
15
+ CNAE: '123456',
16
+ enderEmit: {
17
+ fone: '55 5555-5555',
18
+ xLgr: 'Green Street',
19
+ nro: '123',
20
+ xCpl: '',
21
+ xBairro: 'Neighborhood',
22
+ cMun: '1246',
23
+ xMun: 'City',
24
+ UF: 'ST',
25
+ CEP: '00000-000',
26
+ cPais: '1058',
27
+ xPais: 'Brazil'
28
+ }
29
+ }
30
+ }
31
+ end
32
+
33
+ describe 'with address' do
34
+ let(:provider) { Nfe::Provider.new(provider_hash[:emit]) }
35
+
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 ''
82
+ end
83
+
84
+ it '#address' do
85
+ provider.address.must_equal 'Green Street'
86
+ 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::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
+ end
@@ -0,0 +1,27 @@
1
+ require File.expand_path("../../test_helper", __FILE__)
2
+
3
+ describe Nfe::Purchase do
4
+ def nfe_hash
5
+ {
6
+ compra: {
7
+ xNEmp: '10001',
8
+ xPed: '12356',
9
+ xCont: '1257521'
10
+ }
11
+ }
12
+ end
13
+
14
+ let(:purchase) { Nfe::Purchase.new(nfe_hash[:compra]) }
15
+
16
+ it '#number' do
17
+ purchase.number.must_equal '10001'
18
+ end
19
+
20
+ it '#demand' do
21
+ purchase.demand.must_equal '12356'
22
+ end
23
+
24
+ it '#contract' do
25
+ purchase.contract.must_equal '1257521'
26
+ end
27
+ end
@@ -0,0 +1,57 @@
1
+ require File.expand_path("../../test_helper", __FILE__)
2
+
3
+ describe Nfe::Removal do
4
+ def nfe_hash
5
+ {
6
+ retirada: {
7
+ CNPJ: '99819146000120',
8
+ CPF: '64046757655',
9
+ xLgr: 'Street',
10
+ nro: '157',
11
+ xCpl: 'Address',
12
+ xBairro: 'Neighborhood',
13
+ xMun: 'City',
14
+ cMun: '1234',
15
+ UF: 'ST',
16
+ }
17
+ }
18
+ end
19
+
20
+ let(:removal) { Nfe::Removal.new(nfe_hash[:retirada]) }
21
+
22
+ it '#cnpj' do
23
+ removal.cnpj.must_equal '99819146000120'
24
+ end
25
+
26
+ it '#cpf' do
27
+ removal.cpf.must_equal '64046757655'
28
+ end
29
+
30
+ it '#address' do
31
+ removal.address.must_equal 'Street'
32
+ end
33
+
34
+ it '#number' do
35
+ removal.number.must_equal '157'
36
+ end
37
+
38
+ it '#complement' do
39
+ removal.complement.must_equal 'Address'
40
+ end
41
+
42
+ it '#neighborhood' do
43
+ removal.neighborhood.must_equal 'Neighborhood'
44
+ end
45
+
46
+ it '#city_code' do
47
+ removal.city_code.must_equal '1234'
48
+ end
49
+
50
+ it '#city' do
51
+ removal.city.must_equal 'City'
52
+ end
53
+
54
+ it '#state' do
55
+ removal.state.must_equal 'ST'
56
+ end
57
+ end
@@ -0,0 +1,37 @@
1
+ require File.expand_path("../../../test_helper", __FILE__)
2
+
3
+ describe Nfe::CofinsSt do
4
+ def nfe_hash
5
+ {
6
+ COFINSST: {
7
+ vBC: '100.00',
8
+ pCOFINS: '17.00',
9
+ vCOFINS: '17.00',
10
+ qBCProd: '0',
11
+ vAliqProd: '0'
12
+ }
13
+ }
14
+ end
15
+
16
+ let(:cofins) { Nfe::CofinsSt.new(nfe_hash[:COFINSST]) }
17
+
18
+ it '#base' do
19
+ cofins.base.must_equal '100.00'
20
+ end
21
+
22
+ it '#percentage' do
23
+ cofins.percentage.must_equal '17.00'
24
+ end
25
+
26
+ it '#value' do
27
+ cofins.value.must_equal '17.00'
28
+ end
29
+
30
+ it '#amount' do
31
+ cofins.amount.must_equal '0'
32
+ end
33
+
34
+ it '#aliquot' do
35
+ cofins.aliquot.must_equal '0'
36
+ end
37
+ end
@@ -0,0 +1,42 @@
1
+ require File.expand_path("../../../test_helper", __FILE__)
2
+
3
+ describe Nfe::Cofins do
4
+ def nfe_hash
5
+ {
6
+ COFINSNT: {
7
+ CST: '06',
8
+ vBC: '100.00',
9
+ pCOFINS: '17.00',
10
+ vCOFINS: '17.00',
11
+ qBCProd: '0',
12
+ vAliqProd: '0'
13
+ }
14
+ }
15
+ end
16
+
17
+ let(:cofins) { Nfe::Cofins.new(nfe_hash[:COFINSNT]) }
18
+
19
+ it '#cst' do
20
+ cofins.cst.must_equal '06'
21
+ end
22
+
23
+ it '#base' do
24
+ cofins.base.must_equal '100.00'
25
+ end
26
+
27
+ it '#percentage' do
28
+ cofins.percentage.must_equal '17.00'
29
+ end
30
+
31
+ it '#value' do
32
+ cofins.value.must_equal '17.00'
33
+ end
34
+
35
+ it '#amount' do
36
+ cofins.amount.must_equal '0'
37
+ end
38
+
39
+ it '#aliquot' do
40
+ cofins.aliquot.must_equal '0'
41
+ end
42
+ end
@@ -0,0 +1,122 @@
1
+ require File.expand_path("../../../test_helper", __FILE__)
2
+
3
+ describe Nfe::Icms do
4
+ def nfe_hash
5
+ {
6
+ ICMS: {
7
+ orig: '1',
8
+ CST: '10',
9
+ pICMS: '10',
10
+ vICMS: '100',
11
+ modBC: '1',
12
+ vBC: '1000',
13
+ pRedBC: '0',
14
+ modBCST: '0',
15
+ pRedBCST: '0',
16
+ pMVAST: '0',
17
+ vBCST: '0',
18
+ pICMSST: '0',
19
+ vICMSST: '0',
20
+ vBCSTRet: '0',
21
+ vICMSSTRet: '0',
22
+ vBCSTDest: '0',
23
+ vICMSSTDes: '0',
24
+ UFST: 'ST',
25
+ motDesICMS: '0',
26
+ pCredSN: '0',
27
+ vCredICMSSN: '0',
28
+ CSOSN: '0',
29
+ }
30
+ }
31
+ end
32
+
33
+ let(:icms) { Nfe::Icms.new(nfe_hash[:ICMS]) }
34
+
35
+ it '#origin' do
36
+ icms.origin.must_equal '1'
37
+ end
38
+
39
+ it '#cst' do
40
+ icms.cst.must_equal '10'
41
+ end
42
+
43
+ it '#icms_percentage' do
44
+ icms.icms_percentage.must_equal '10'
45
+ end
46
+
47
+ it '#icms' do
48
+ icms.icms.must_equal '100'
49
+ end
50
+
51
+ it '#icms_base_kind' do
52
+ icms.icms_base_kind.must_equal '1'
53
+ end
54
+
55
+ it '#icms_base' do
56
+ icms.icms_base.must_equal '1000'
57
+ end
58
+
59
+ it '#icms_base_reductionicms_base_reduction' do
60
+ icms.icms_base_reduction.must_equal '0'
61
+ end
62
+
63
+ it '#icms_st_base_kind' do
64
+ icms.icms_st_base_kind.must_equal '0'
65
+ end
66
+
67
+ it '#icms_st_base_reduction' do
68
+ icms.icms_st_base_reduction.must_equal '0'
69
+ end
70
+
71
+ it '#mva' do
72
+ icms.mva.must_equal '0'
73
+ end
74
+
75
+ it '#icms_st_base' do
76
+ icms.icms_st_base.must_equal '0'
77
+ end
78
+
79
+ it '#icms_st_percentage' do
80
+ icms.icms_st_percentage.must_equal '0'
81
+ end
82
+
83
+ it '#icms_st' do
84
+ icms.icms_st.must_equal '0'
85
+ end
86
+
87
+ it '#icms_st_base_retained_sender' do
88
+ icms.icms_st_base_retained_sender.must_equal '0'
89
+ end
90
+
91
+ it '#icms_st_retained_sender' do
92
+ icms.icms_st_retained_sender.must_equal '0'
93
+ end
94
+
95
+ it '#icms_st_base_retained' do
96
+ icms.icms_st_base_retained.must_equal '0'
97
+ end
98
+
99
+ it '#icms_st_retained' do
100
+ icms.icms_st_retained.must_equal '0'
101
+ end
102
+
103
+ it '#state' do
104
+ icms.state.must_equal 'ST'
105
+ end
106
+
107
+ it '#retained_reason' do
108
+ icms.retained_reason.must_equal '0'
109
+ end
110
+
111
+ it '#credit_percentage' do
112
+ icms.credit_percentage.must_equal '0'
113
+ end
114
+
115
+ it '#icms_credit' do
116
+ icms.icms_credit.must_equal '0'
117
+ end
118
+
119
+ it '#sn_operation_code' do
120
+ icms.sn_operation_code.must_equal '0'
121
+ end
122
+ end