rnfse 0.3.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +7 -6
- data/lib/provedores.yml +8 -0
- data/lib/rnfse.rb +5 -1
- data/lib/rnfse/api.rb +44 -22
- data/lib/rnfse/api/abrasf_1_0.rb +100 -17
- data/lib/rnfse/api/abrasf_1_0/#definitions.json# +413 -0
- data/lib/rnfse/api/abrasf_1_0/cancelar_nfse.json +13 -0
- data/lib/rnfse/api/abrasf_1_0/consultar_nfse.json +17 -0
- data/lib/rnfse/api/abrasf_1_0/consultar_nfse_por_rps.json +13 -0
- data/lib/rnfse/api/abrasf_1_0/definitions.json +27 -3
- data/lib/rnfse/api/abrasf_1_0/recepcionar_lote_rps.json +1 -1
- data/lib/rnfse/api/iss_net_1_0.rb +46 -2
- data/lib/rnfse/api/speed_gov_1_0.rb +115 -0
- data/lib/rnfse/call_chain.rb +4 -4
- data/lib/rnfse/error.rb +15 -0
- data/lib/rnfse/hash.rb +24 -11
- data/lib/rnfse/string.rb +16 -2
- data/lib/rnfse/version.rb +1 -1
- data/lib/rnfse/xml_builder/abrasf_1_0.rb +103 -13
- data/lib/rnfse/xml_builder/iss_net_1_0.rb +34 -4
- data/lib/rnfse/xml_builder/speed_gov_1_0.rb +158 -0
- data/spec/api/abrasf_1_0/cancelar_nfse_json_spec.rb +25 -0
- data/spec/api/abrasf_1_0/consultar_lote_rps_json_spec.rb +23 -0
- data/spec/api/abrasf_1_0/consultar_nfse_json_spec.rb +45 -0
- data/spec/api/abrasf_1_0/consultar_nfse_por_rps_json_spec.rb +23 -0
- data/spec/api/abrasf_1_0/consultar_situacao_lote_rps_json_spec.rb +23 -0
- data/spec/api/abrasf_1_0_spec.rb +185 -6
- data/spec/api/iss_net_1_0_spec.rb +89 -9
- data/spec/api/speed_gov_1_0_spec.rb +243 -0
- data/spec/api_spec.rb +43 -28
- data/spec/error_spec.rb +10 -0
- data/spec/fixtures/abrasf_1_0/cancelar_nfse_envio.xml +16 -0
- data/spec/fixtures/abrasf_1_0/consultar_nfse.xml +23 -0
- data/spec/fixtures/abrasf_1_0/consultar_nfse_por_rps.xml +14 -0
- data/spec/fixtures/iss_net_1_0/cancelar_nfse_envio.xml +17 -0
- data/spec/fixtures/iss_net_1_0/consultar_nfse.xml +29 -0
- data/spec/fixtures/iss_net_1_0/consultar_nfse_por_rps.xml +17 -0
- data/spec/fixtures/speed_gov_1_0/consultar_nfse_envio.xml +29 -0
- data/spec/fixtures/speed_gov_1_0/consultar_nfse_rps_envio.xml +16 -0
- data/spec/fixtures/speed_gov_1_0/consultar_situacao_lote_rps_envio.xml +12 -0
- data/spec/fixtures/speed_gov_1_0/enviar_lote_rps_envio.xml +82 -0
- data/spec/fixtures/speed_gov_1_0/header.xml +9 -0
- data/spec/fixtures/vcr_cassettes/iss_net_1_0_cancelar_nfse.yml +107 -0
- data/spec/fixtures/vcr_cassettes/iss_net_1_0_consultar_nfse.yml +7937 -0
- data/spec/fixtures/vcr_cassettes/iss_net_1_0_consultar_nfse_por_rps.yml +242 -0
- data/spec/fixtures/vcr_cassettes/speed_gov_1_0_consultar_nfse.yml +60 -0
- data/spec/fixtures/vcr_cassettes/speed_gov_1_0_consultar_nfse_por_rps.yml +80 -0
- data/spec/fixtures/vcr_cassettes/speed_gov_1_0_consultar_situacao_lote_rps.yml +77 -0
- data/spec/fixtures/vcr_cassettes/speed_gov_1_0_recepcionar_lote_rps.yml +171 -0
- data/spec/fixtures/vcr_cassettes/speed_gov_1_0_recepcionar_lote_rps_ascii.yml +171 -0
- data/spec/hash_spec.rb +21 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/string_spec.rb +31 -5
- data/spec/xml_builder/abrasf_1_0_spec.rb +110 -43
- data/spec/xml_builder/iss_net_1_0_spec.rb +111 -44
- data/spec/xml_builder/speed_gov_1_0_spec.rb +173 -0
- metadata +86 -37
- data/.gitignore +0 -25
- data/.rspec +0 -1
- data/.travis.yml +0 -14
- data/Gemfile +0 -3
- data/Guardfile +0 -15
- data/Procfile +0 -1
- data/Rakefile +0 -12
- data/rnfse.gemspec +0 -61
- data/spec/fixtures/abrasf_1_0/teste.xml +0 -8
- data/spec/support/.keep +0 -0
@@ -4,8 +4,6 @@ require 'spec_helper'
|
|
4
4
|
describe Rnfse::API::IssNet10 do
|
5
5
|
let(:certificate) { File.join($ROOT, 'spec', 'fixtures', 'certificate.pem') }
|
6
6
|
let(:key) { File.join($ROOT, 'spec', 'fixtures', 'key.pem') }
|
7
|
-
|
8
|
-
|
9
7
|
let(:client) do
|
10
8
|
Rnfse::API.new(padrao: :iss_net_1_0,
|
11
9
|
namespace: 'http://www.issnetonline.com.br/webservice/nfd',
|
@@ -14,6 +12,14 @@ describe Rnfse::API::IssNet10 do
|
|
14
12
|
key: key)
|
15
13
|
end
|
16
14
|
|
15
|
+
describe '#operations' do
|
16
|
+
it { expect(client.operations).to eq([
|
17
|
+
:recepcionar_lote_rps, :consultar_situacao_lote_rps,
|
18
|
+
:consultar_nfse_por_rps, :consultar_nfse, :consultar_lote_rps,
|
19
|
+
:cancelar_nfse, :consultar_url_visualizacao_nfse,
|
20
|
+
:consultar_url_visualizacao_nfse_serie
|
21
|
+
]) }
|
22
|
+
end
|
17
23
|
|
18
24
|
describe '#recepcionar_lote_rps' do
|
19
25
|
context 'quando parametros errados são passados,' do
|
@@ -33,7 +39,7 @@ describe Rnfse::API::IssNet10 do
|
|
33
39
|
lista_rps: [
|
34
40
|
{
|
35
41
|
identificacao_rps: { numero: 15, serie: "8", tipo: 1 },
|
36
|
-
data_emissao: "2014-06-24T10:00:00",
|
42
|
+
data_emissao: Date.parse("2014-06-24T10:00:00").rfc3339,
|
37
43
|
natureza_operacao: 1,
|
38
44
|
optante_simples_nacional: false,
|
39
45
|
incentivador_cultural: false,
|
@@ -138,10 +144,84 @@ describe Rnfse::API::IssNet10 do
|
|
138
144
|
it { should be_kind_of(Hash) }
|
139
145
|
end
|
140
146
|
|
141
|
-
describe '#cancelar_nfse'
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
+
describe '#cancelar_nfse' do
|
148
|
+
context 'quando parametros errados são passados,' do
|
149
|
+
it { expect{ client.cancelar_nfse(bogus: :data) }.to raise_error(ArgumentError) }
|
150
|
+
end
|
151
|
+
|
152
|
+
it { expect(client).to respond_to(:cancelar_nfse) }
|
153
|
+
|
154
|
+
subject do
|
155
|
+
VCR.use_cassette('iss_net_1_0_cancelar_nfse') do
|
156
|
+
client.cancelar_nfse({
|
157
|
+
identificacao_nfse: {
|
158
|
+
numero: 201400000000015,
|
159
|
+
cnpj: "14.576.582/0001-63",
|
160
|
+
inscricao_municipal: "124762",
|
161
|
+
codigo_municipio: 999
|
162
|
+
},
|
163
|
+
codigo_cancelamento: '5'
|
164
|
+
})
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
it { should_not be_nil }
|
169
|
+
it { should be_kind_of(Hash) }
|
170
|
+
end
|
171
|
+
|
172
|
+
describe '#consultar_nfse_por_rps' do
|
173
|
+
context 'quando parametros errados são passados,' do
|
174
|
+
it { expect{ client.consultar_nfse_por_rps(bogus: :data) }.to raise_error(ArgumentError) }
|
175
|
+
end
|
176
|
+
|
177
|
+
it { expect(client).to respond_to(:cancelar_nfse) }
|
178
|
+
|
179
|
+
subject do
|
180
|
+
VCR.use_cassette('iss_net_1_0_consultar_nfse_por_rps') do
|
181
|
+
client.consultar_nfse_por_rps({
|
182
|
+
identificacao_rps: { numero: 15, serie: "8", tipo: 1 },
|
183
|
+
prestador: {
|
184
|
+
cnpj: "14.576.582/0001-63",
|
185
|
+
inscricao_municipal: "124762"
|
186
|
+
}
|
187
|
+
})
|
188
|
+
end
|
189
|
+
end
|
190
|
+
|
191
|
+
it { should_not be_nil }
|
192
|
+
it { should be_kind_of(Hash) }
|
193
|
+
end
|
194
|
+
|
195
|
+
describe '#consultar_nfse' do
|
196
|
+
context 'quando parametros errados são passados,' do
|
197
|
+
it { expect{ client.consultar_nfse(bogus: :data) }.to raise_error(ArgumentError) }
|
198
|
+
end
|
199
|
+
|
200
|
+
it { expect(client).to respond_to(:cancelar_nfse) }
|
201
|
+
|
202
|
+
subject do
|
203
|
+
VCR.use_cassette('iss_net_1_0_consultar_nfse') do
|
204
|
+
client.consultar_nfse({
|
205
|
+
prestador: {
|
206
|
+
cnpj: "14.576.582/0001-63",
|
207
|
+
inscricao_municipal: "124762"
|
208
|
+
}
|
209
|
+
})
|
210
|
+
end
|
211
|
+
end
|
212
|
+
|
213
|
+
it { should_not be_nil }
|
214
|
+
it { should be_kind_of(Hash) }
|
215
|
+
end
|
216
|
+
|
217
|
+
describe '#consultar_url_visualizacao_nfse' do
|
218
|
+
it { expect(client).to respond_to(:consultar_url_visualizacao_nfse) }
|
219
|
+
it { expect { client.consultar_url_visualizacao_nfse() }.to raise_error(Rnfse::Error::NotImplemented) }
|
220
|
+
end
|
221
|
+
|
222
|
+
describe '#consultar_url_visualizacao_nfse_serie' do
|
223
|
+
it { expect(client).to respond_to(:consultar_url_visualizacao_nfse_serie) }
|
224
|
+
it { expect { client.consultar_url_visualizacao_nfse_serie() }.to raise_error(Rnfse::Error::NotImplemented) }
|
225
|
+
end
|
226
|
+
|
147
227
|
end
|
@@ -0,0 +1,243 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Rnfse::API::SpeedGov10 do
|
5
|
+
let(:certificate) { File.join($ROOT, 'spec', 'fixtures', 'certificate.pem') }
|
6
|
+
let(:key) { File.join($ROOT, 'spec', 'fixtures', 'key.pem') }
|
7
|
+
let(:client) do
|
8
|
+
Rnfse::API.new(padrao: :speed_gov_1_0,
|
9
|
+
namespace: 'http://ws.speedgov.com.br/',
|
10
|
+
endpoint: 'http://speedgov.com.br/wsmod/Nfes',
|
11
|
+
certificate: certificate,
|
12
|
+
key: key)
|
13
|
+
end
|
14
|
+
|
15
|
+
describe '#operations' do
|
16
|
+
it { expect(client.operations).to eq([
|
17
|
+
:recepcionar_lote_rps, :consultar_situacao_lote_rps,
|
18
|
+
:consultar_nfse_por_rps, :consultar_nfse, :consultar_lote_rps,
|
19
|
+
:cancelar_nfse
|
20
|
+
]) }
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '#recepcionar_lote_rps' do
|
24
|
+
it { expect(client).to respond_to(:recepcionar_lote_rps) }
|
25
|
+
|
26
|
+
context 'ao não passar opções certificate e key para assinatura do xml,' do
|
27
|
+
let(:client) do
|
28
|
+
Rnfse::API.new(padrao: :abrasf_1_0,
|
29
|
+
namespace: 'http://www.issnetonline.com.br/webservice/nfd',
|
30
|
+
endpoint: 'http://www.issnetonline.com.br/webserviceabrasf/homologacao/servicos.asmx')
|
31
|
+
end
|
32
|
+
|
33
|
+
it { expect { client.recepcionar_lote_rps() }.to raise_error(ArgumentError) }
|
34
|
+
end
|
35
|
+
|
36
|
+
context 'quando os parametros são errados,' do
|
37
|
+
it { expect{ client.recepcionar_lote_rps(bogus: :data) }.to raise_error(ArgumentError) }
|
38
|
+
end
|
39
|
+
|
40
|
+
context 'quando existem parametros não ASCII,' do
|
41
|
+
it { expect do
|
42
|
+
VCR.use_cassette('speed_gov_1_0_recepcionar_lote_rps_ascii') do
|
43
|
+
client.recepcionar_lote_rps({
|
44
|
+
lote_rps: {
|
45
|
+
numero_lote: 1,
|
46
|
+
cnpj: "12.552.510/0001-50",
|
47
|
+
inscricao_municipal: "68",
|
48
|
+
quantidade_rps: 1,
|
49
|
+
lista_rps: [
|
50
|
+
{
|
51
|
+
identificacao_rps: { numero: 1, serie: "00000", tipo: 1 },
|
52
|
+
data_emissao: Date.parse("2013-10-01T08:10:00").rfc3339,
|
53
|
+
natureza_operacao: 1,
|
54
|
+
optante_simples_nacional: false,
|
55
|
+
incentivador_cultural: false,
|
56
|
+
status: 1,
|
57
|
+
servico: {
|
58
|
+
valores: {
|
59
|
+
valor_servicos: 500.0,
|
60
|
+
iss_retido: false,
|
61
|
+
base_calculo: 500.0
|
62
|
+
},
|
63
|
+
item_lista_servico: "101",
|
64
|
+
discriminacao: 'àõéúîàõéúîàõéúîàõéúîàõéúî',
|
65
|
+
codigo_municipio: 9999999
|
66
|
+
},
|
67
|
+
prestador: {
|
68
|
+
cnpj: "12.552.510/0001-50",
|
69
|
+
inscricao_municipal: "68"
|
70
|
+
},
|
71
|
+
tomador: {
|
72
|
+
identificacao_tomador: {
|
73
|
+
cnpj: "12.477.945/0001-88"
|
74
|
+
},
|
75
|
+
razao_social: 'àõéúîàõéúîàõéúîàõéúîàõéúî'
|
76
|
+
}
|
77
|
+
}
|
78
|
+
]
|
79
|
+
}
|
80
|
+
})
|
81
|
+
end
|
82
|
+
end.to raise_error(Rnfse::Error::NonASCIIEncoding) }
|
83
|
+
end
|
84
|
+
|
85
|
+
subject do
|
86
|
+
VCR.use_cassette('speed_gov_1_0_recepcionar_lote_rps') do
|
87
|
+
client.recepcionar_lote_rps({
|
88
|
+
lote_rps: {
|
89
|
+
numero_lote: 1,
|
90
|
+
cnpj: "12.552.510/0001-50",
|
91
|
+
inscricao_municipal: "68",
|
92
|
+
quantidade_rps: 1,
|
93
|
+
lista_rps: [
|
94
|
+
{
|
95
|
+
identificacao_rps: { numero: 1, serie: "00000", tipo: 1 },
|
96
|
+
data_emissao: Date.parse("2013-10-01T08:10:00").rfc3339,
|
97
|
+
natureza_operacao: 1,
|
98
|
+
optante_simples_nacional: false,
|
99
|
+
incentivador_cultural: false,
|
100
|
+
status: 1,
|
101
|
+
servico: {
|
102
|
+
valores: {
|
103
|
+
valor_servicos: 500.0,
|
104
|
+
valor_deducoes: 0.0,
|
105
|
+
valor_pis: 0.0,
|
106
|
+
valor_cofins: 0.0,
|
107
|
+
valor_inss: 0.0,
|
108
|
+
valor_ir: 0.0,
|
109
|
+
valor_csll: 0.0,
|
110
|
+
iss_retido: false,
|
111
|
+
valor_iss: 10.0,
|
112
|
+
valor_iss_retido: 0.0,
|
113
|
+
outras_retencoes: 0.0,
|
114
|
+
base_calculo: 500.0,
|
115
|
+
aliquota: 0.02,
|
116
|
+
valor_liquido_nfse: 490.0,
|
117
|
+
desconto_condicionado: 0.0,
|
118
|
+
desconto_incondicionado: 0.0
|
119
|
+
},
|
120
|
+
item_lista_servico: "101",
|
121
|
+
codigo_cnae: "6201-5/00",
|
122
|
+
codigo_tributacao_municipio: "620150000",
|
123
|
+
discriminacao: "Borealis",
|
124
|
+
codigo_municipio: 9999999
|
125
|
+
},
|
126
|
+
prestador: {
|
127
|
+
cnpj: "12.552.510/0001-50",
|
128
|
+
inscricao_municipal: "68"
|
129
|
+
},
|
130
|
+
tomador: {
|
131
|
+
identificacao_tomador: {
|
132
|
+
cnpj: "12.477.945/0001-88"
|
133
|
+
},
|
134
|
+
razao_social: 'Black Mesa Research Facility',
|
135
|
+
endereco: {
|
136
|
+
endereco: 'RUA VICENTE F. GOES',
|
137
|
+
numero: '182',
|
138
|
+
complemento: 'A',
|
139
|
+
bairro: 'ALTO DA MANGUEIRA',
|
140
|
+
codigo_municipio: 9999999,
|
141
|
+
uf: 'CE',
|
142
|
+
cep: '61900-000'
|
143
|
+
},
|
144
|
+
contato: {
|
145
|
+
telefone: '8512341234',
|
146
|
+
email: 'teste@fes.com.br'
|
147
|
+
}
|
148
|
+
},
|
149
|
+
intermediario_servico: {
|
150
|
+
razao_social: 'Intersol Servicos Ltda',
|
151
|
+
cpf: '897.461.043-49',
|
152
|
+
inscricao_municipal: '1234567'
|
153
|
+
}
|
154
|
+
}
|
155
|
+
]
|
156
|
+
}
|
157
|
+
})
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
161
|
+
it { should_not be_nil }
|
162
|
+
it { should be_kind_of(Hash) }
|
163
|
+
end
|
164
|
+
|
165
|
+
describe '#consultar_situacao_lote_rps' do
|
166
|
+
context 'quando parametros errados são passados,' do
|
167
|
+
it { expect{ client.consultar_situacao_lote_rps(bogus: :data) }.to raise_error(ArgumentError) }
|
168
|
+
end
|
169
|
+
|
170
|
+
it { expect(client).to respond_to(:consultar_situacao_lote_rps) }
|
171
|
+
|
172
|
+
subject do
|
173
|
+
VCR.use_cassette('speed_gov_1_0_consultar_situacao_lote_rps') do
|
174
|
+
client.consultar_situacao_lote_rps({
|
175
|
+
prestador: {
|
176
|
+
cnpj: '07.792.435/0009-12',
|
177
|
+
inscricao_municipal: '59274734'
|
178
|
+
},
|
179
|
+
protocolo: '717293e4-3601-4955-865c-5a022c2b5ff5'
|
180
|
+
})
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
184
|
+
it { should_not be_nil }
|
185
|
+
it { should be_kind_of(Hash) }
|
186
|
+
end
|
187
|
+
|
188
|
+
describe '#consultar_nfse_por_rps' do
|
189
|
+
context 'quando parametros errados são passados,' do
|
190
|
+
it { expect{ client.consultar_nfse_por_rps(bogus: :data) }.to raise_error(ArgumentError) }
|
191
|
+
end
|
192
|
+
|
193
|
+
it { expect(client).to respond_to(:cancelar_nfse) }
|
194
|
+
|
195
|
+
subject do
|
196
|
+
VCR.use_cassette('speed_gov_1_0_consultar_nfse_por_rps') do
|
197
|
+
client.consultar_nfse_por_rps({
|
198
|
+
identificacao_rps: { numero: 1, serie: "00000", tipo: 1 },
|
199
|
+
prestador: {
|
200
|
+
cnpj: "12.552.510/0001-50",
|
201
|
+
inscricao_municipal: "68"
|
202
|
+
}
|
203
|
+
})
|
204
|
+
end
|
205
|
+
end
|
206
|
+
|
207
|
+
it { should_not be_nil }
|
208
|
+
it { should be_kind_of(Hash) }
|
209
|
+
end
|
210
|
+
|
211
|
+
describe '#consultar_nfse' do
|
212
|
+
context 'quando parametros errados são passados,' do
|
213
|
+
it { expect{ client.consultar_nfse(bogus: :data) }.to raise_error(ArgumentError) }
|
214
|
+
end
|
215
|
+
|
216
|
+
it { expect(client).to respond_to(:consultar_nfse) }
|
217
|
+
|
218
|
+
subject do
|
219
|
+
VCR.use_cassette('speed_gov_1_0_consultar_nfse') do
|
220
|
+
client.consultar_nfse({
|
221
|
+
prestador: {
|
222
|
+
cnpj: "12.552.510/0001-50",
|
223
|
+
inscricao_municipal: "68"
|
224
|
+
}
|
225
|
+
})
|
226
|
+
end
|
227
|
+
end
|
228
|
+
|
229
|
+
it { should_not be_nil }
|
230
|
+
it { should be_kind_of(Hash) }
|
231
|
+
end
|
232
|
+
|
233
|
+
describe '#consultar_lote_rps' do
|
234
|
+
it { expect(client).to respond_to(:consultar_lote_rps) }
|
235
|
+
it { expect { client.consultar_lote_rps() }.to raise_error(Rnfse::Error::NotImplemented) }
|
236
|
+
end
|
237
|
+
|
238
|
+
describe '#cancelar_nfse' do
|
239
|
+
it { expect(client).to respond_to(:cancelar_nfse) }
|
240
|
+
it { expect { client.cancelar_nfse() }.to raise_error(Rnfse::Error::NotImplemented) }
|
241
|
+
end
|
242
|
+
|
243
|
+
end
|
data/spec/api_spec.rb
CHANGED
@@ -4,31 +4,46 @@ require 'spec_helper'
|
|
4
4
|
describe Rnfse::API do
|
5
5
|
describe '::new' do
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
context 'ao passar um padrão, namespace e endpoint,' do
|
8
|
+
subject do
|
9
|
+
Rnfse::API.new(padrao: :abrasf_1_0,
|
10
|
+
namespace: 'http://www.issnetonline.com.br/webservice/nfd',
|
11
|
+
endpoint: 'http://www.issnetonline.com.br/webserviceabrasf/homologacao/servicos.asmx')
|
12
|
+
end
|
13
|
+
it { should be_kind_of(Rnfse::API) }
|
14
|
+
its(:namespace) { should eq('http://www.issnetonline.com.br/webservice/nfd') }
|
15
|
+
its(:endpoint) { should eq('http://www.issnetonline.com.br/webserviceabrasf/homologacao/servicos.asmx') }
|
16
|
+
its(:api) { should eq('abrasf_1_0') }
|
17
|
+
its(:xml_builder) { should be_kind_of(Rnfse::XMLBuilder) }
|
18
|
+
its(:soap_client) { should be_kind_of(Savon::Client) }
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'ao não passar informações válidas,' do
|
22
|
+
it { expect { Rnfse::API.new() }.to raise_error(ArgumentError) }
|
23
|
+
it { expect { Rnfse::API.new(error: 'error') }.to raise_error(ArgumentError) }
|
9
24
|
|
10
|
-
|
25
|
+
context 'como provedor inexistente,' do
|
26
|
+
it { expect { Rnfse::API.new(provedor: :none, municipio: :cuiaba) }.to raise_error(ArgumentError) }
|
27
|
+
it { expect { Rnfse::API.new(provedor: :none, homologacao: true) }.to raise_error(ArgumentError) }
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
context 'ISS.net ao passar um provedor e município,' do
|
11
32
|
subject do
|
12
33
|
Rnfse::API.new(provedor: :iss_net,
|
13
|
-
municipio: :cuiaba
|
14
|
-
certificate: certificate,
|
15
|
-
key: key)
|
34
|
+
municipio: :cuiaba)
|
16
35
|
end
|
17
36
|
|
18
37
|
it { should be_kind_of(Rnfse::API) }
|
19
38
|
its(:namespace) { should eq('http://www.issnetonline.com.br/webservice/nfd') }
|
20
39
|
its(:endpoint) { should eq('http://www.issnetonline.com.br/webserviceabrasf/cuiaba/servicos.asmx') }
|
21
40
|
its(:api) { should eq('iss_net_1_0') }
|
22
|
-
its(:xml_builder) { should be_kind_of(Rnfse::XMLBuilder) }
|
23
|
-
its(:soap_client) { should be_kind_of(Savon::Client) }
|
24
41
|
end
|
25
42
|
|
26
|
-
context 'ao passar um provedor em homologação,' do
|
43
|
+
context 'ISS.net ao passar um provedor em homologação,' do
|
27
44
|
subject do
|
28
45
|
Rnfse::API.new(provedor: :iss_net,
|
29
|
-
homologacao: true
|
30
|
-
certificate: certificate,
|
31
|
-
key: key)
|
46
|
+
homologacao: true)
|
32
47
|
end
|
33
48
|
|
34
49
|
it { should be_kind_of(Rnfse::API) }
|
@@ -37,28 +52,28 @@ describe Rnfse::API do
|
|
37
52
|
its(:api) { should eq('iss_net_1_0') }
|
38
53
|
end
|
39
54
|
|
40
|
-
context 'ao passar
|
55
|
+
context 'SpeedGov ao passar um provedor e municipio,' do
|
41
56
|
subject do
|
42
|
-
Rnfse::API.new(
|
43
|
-
|
44
|
-
endpoint: 'http://www.issnetonline.com.br/webserviceabrasf/homologacao/servicos.asmx',
|
45
|
-
certificate: certificate,
|
46
|
-
key: key)
|
57
|
+
Rnfse::API.new(provedor: :speed_gov,
|
58
|
+
municipio: :petrolina)
|
47
59
|
end
|
60
|
+
|
48
61
|
it { should be_kind_of(Rnfse::API) }
|
49
|
-
its(:namespace) { should eq('http://
|
50
|
-
its(:endpoint) { should eq('http://www.
|
51
|
-
its(:api) { should eq('
|
62
|
+
its(:namespace) { should eq('http://ws.speedgov.com.br/') }
|
63
|
+
its(:endpoint) { should eq('http://www.speedgov.com.br/wspet/Nfes') }
|
64
|
+
its(:api) { should eq('speed_gov_1_0') }
|
52
65
|
end
|
53
66
|
|
54
|
-
context 'ao
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
context 'como provedor inexistente,' do
|
59
|
-
it { expect { Rnfse::API.new(provedor: :none, municipio: :cuiaba) }.to raise_error(ArgumentError) }
|
60
|
-
it { expect { Rnfse::API.new(provedor: :none, homologacao: true) }.to raise_error(ArgumentError) }
|
67
|
+
context 'SpeedGov ao passar um provedor em homologação' do
|
68
|
+
subject do
|
69
|
+
Rnfse::API.new(provedor: :speed_gov,
|
70
|
+
homologacao: true)
|
61
71
|
end
|
72
|
+
|
73
|
+
it { should be_kind_of(Rnfse::API) }
|
74
|
+
its(:namespace) { should eq('http://ws.speedgov.com.br/') }
|
75
|
+
its(:endpoint) { should eq('http://speedgov.com.br/wsmod/Nfes') }
|
76
|
+
its(:api) { should eq('speed_gov_1_0') }
|
62
77
|
end
|
63
78
|
|
64
79
|
end
|