fastshop_catalog 0.0.2 → 0.0.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 +7 -0
- data/lib/fastshop_catalog/check_availability_service.rb +1 -1
- data/lib/fastshop_catalog/version.rb +1 -1
- data/spec/fastshop_catalog/check_availability_service_spec.rb +7 -10
- data/spec/fastshop_catalog/integration/check_availability_service_integration_spec.rb +9 -9
- data/spec/fastshop_catalog/integration/order_placement_service_integration_spec.rb +12 -9
- data/spec/fastshop_catalog/integration/participant_service_integration_spec.rb +6 -3
- data/spec/fastshop_catalog/order_placement_service_spec.rb +6 -5
- data/spec/fixtures/{check_availability_not_available_response.xml → check_availability_successful_response.xml} +2 -1
- data/spec/fixtures/{order_placement_cart_not_identified.xml → order_placement_address_not_found.xml} +1 -2
- data/spec/spec_helper.rb +1 -0
- metadata +19 -32
- data/.DS_Store +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1a6239cc75029327adc4249fbf22da92061da60c
|
4
|
+
data.tar.gz: 34aa60a7b9755ab6335d76c2073d2d74adcb27f2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 317dfac02e7b05a875e12ffec410a4d3d9e1352f18b5f41829b6a8073e4932012c7db14f67e56cf78789e05689945bf7baa7b4879078ede049d00b2fedf3c277
|
7
|
+
data.tar.gz: aa041a18add29279bb13b29b4291a486ca8f048427090919880436bb44a0fa7d09165551435cd9428848b4db7dac0872627e0c851d6c90673b46040063598e6f
|
@@ -13,7 +13,7 @@ module FastshopCatalog
|
|
13
13
|
root_attributes = order.to_map
|
14
14
|
adapted_items = []
|
15
15
|
root_attributes['Itens'].each do |item|
|
16
|
-
adapted_items << {'fas:PedidoItensEntity' => adapt_output(item.to_map)}
|
16
|
+
adapted_items << {'fas:PedidoItensEntity' => adapt_output(item.to_map, 'fas')}
|
17
17
|
end
|
18
18
|
root_attributes['Itens'] = adapted_items
|
19
19
|
service_invoker('dadosPedido' => adapt_output(root_attributes, 'fas'))
|
@@ -13,32 +13,29 @@ describe FastshopCatalog::CheckAvailabilityService do
|
|
13
13
|
order.zip_code = '02029001'
|
14
14
|
order.document = '73978898160'
|
15
15
|
order.number = '1560'
|
16
|
-
order.total_amount = "
|
16
|
+
order.total_amount = "249.00"
|
17
17
|
order_item = FastshopCatalog::Entity::OrderItem.new
|
18
|
-
order_item.sku = '
|
18
|
+
order_item.sku = 'SODPFC70A'
|
19
19
|
order_item.quantity = 1
|
20
|
-
order_item.price = "
|
20
|
+
order_item.price = "249.00"
|
21
21
|
order.items = [order_item]
|
22
22
|
order
|
23
23
|
end
|
24
24
|
|
25
25
|
let(:order_fixture) do
|
26
|
-
{"tns:dadosPedido"=>{"fas:Cep"=>"02029001", "fas:Contrato"=>"1234567890", "fas:Cpf"=>"73978898160", "fas:Itens"=>[{"fas:PedidoItensEntity"=>{"
|
26
|
+
{"tns:dadosPedido"=>{"fas:Cep"=>"02029001", "fas:Contrato"=>"1234567890", "fas:Cpf"=>"73978898160", "fas:Itens"=>[{"fas:PedidoItensEntity"=>{"fas:Quantidade"=>1, "fas:Sku"=>"SODPFC70A", "fas:ValorUnitario"=>"249.00"}}], "fas:Numero"=>"1560", "fas:ValorTotal"=>"249.00"}}
|
27
27
|
end
|
28
28
|
|
29
29
|
let(:fixture) do
|
30
|
-
File.read("spec/fixtures/
|
30
|
+
File.read("spec/fixtures/check_availability_successful_response.xml")
|
31
31
|
end
|
32
32
|
|
33
33
|
describe "check" do
|
34
|
-
it "should check that the order is
|
34
|
+
it "should check that the order is ok" do
|
35
35
|
|
36
36
|
savon.expects(:retorna_dados).with(:message => order_fixture).returns(fixture)
|
37
37
|
service = FastshopCatalog::CheckAvailabilityService.new
|
38
|
-
|
39
|
-
expect(e.code).to eq(36)
|
40
|
-
expect(e.description).to eq('Pedido indisponível')
|
41
|
-
end
|
38
|
+
result = service.check(order)
|
42
39
|
end
|
43
40
|
end
|
44
41
|
end
|
@@ -6,25 +6,25 @@ describe FastshopCatalog::CheckAvailabilityService do
|
|
6
6
|
let(:order) do
|
7
7
|
order = FastshopCatalog::Entity::Order.new
|
8
8
|
order.contract_code = '1234567890'
|
9
|
-
order.zip_code = '
|
9
|
+
order.zip_code = '04562030'
|
10
10
|
order.document = '73978898160'
|
11
11
|
order.number = '1560'
|
12
|
-
order.total_amount = "
|
12
|
+
order.total_amount = "249.00"
|
13
|
+
order.delivery_type = "P"
|
14
|
+
order.partner_order_number = "1234568119"
|
15
|
+
|
13
16
|
order_item = FastshopCatalog::Entity::OrderItem.new
|
14
|
-
order_item.sku = '
|
17
|
+
order_item.sku = 'SODPFC70A'
|
15
18
|
order_item.quantity = 1
|
16
|
-
order_item.price = "
|
19
|
+
order_item.price = "249.00"
|
17
20
|
order.items = [order_item]
|
18
21
|
order
|
19
22
|
end
|
20
23
|
|
21
24
|
describe "check integration", :integration => true do
|
22
|
-
it "should check that the order is
|
25
|
+
it "should check that the order is ok" do
|
23
26
|
service = FastshopCatalog::CheckAvailabilityService.new
|
24
|
-
|
25
|
-
expect(e.code).to eq(36)
|
26
|
-
expect(e.description).to eq('Pedido indisponível')
|
27
|
-
end
|
27
|
+
result = service.check(order)
|
28
28
|
end
|
29
29
|
end
|
30
30
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: utf-8
|
1
2
|
require "spec_helper"
|
2
3
|
|
3
4
|
describe FastshopCatalog::OrderPlacementService do
|
@@ -5,20 +6,20 @@ describe FastshopCatalog::OrderPlacementService do
|
|
5
6
|
let(:contract_number) do
|
6
7
|
"1234567890"
|
7
8
|
end
|
8
|
-
|
9
|
+
|
9
10
|
let(:order) do
|
10
11
|
order = FastshopCatalog::Entity::Order.new
|
11
12
|
order.contract_code = '1234567890'
|
12
|
-
order.zip_code = '
|
13
|
+
order.zip_code = '04562030'
|
13
14
|
order.document = '73978898160'
|
14
|
-
order.number = '
|
15
|
-
order.total_amount = "
|
15
|
+
order.number = '5'
|
16
|
+
order.total_amount = "249.00"
|
16
17
|
order.delivery_type = "P"
|
17
18
|
order.partner_order_number = "1234568119"
|
18
19
|
order_item = FastshopCatalog::Entity::OrderItem.new
|
19
|
-
order_item.sku = '
|
20
|
+
order_item.sku = 'SODPFC70A'
|
20
21
|
order_item.quantity = 1
|
21
|
-
order_item.price = "
|
22
|
+
order_item.price = "249.00"
|
22
23
|
order.items = [order_item]
|
23
24
|
order
|
24
25
|
end
|
@@ -30,9 +31,11 @@ describe FastshopCatalog::OrderPlacementService do
|
|
30
31
|
describe "place_order integration", :integration => true do
|
31
32
|
|
32
33
|
it "should raise cart not identified" do
|
33
|
-
|
34
|
-
|
35
|
-
|
34
|
+
begin
|
35
|
+
service.place_order(order)
|
36
|
+
rescue FastshopCatalog::ServiceException => e
|
37
|
+
expect(e.code).to eq(15)
|
38
|
+
expect(e.description).to eq('Endereço nao encontrado')
|
36
39
|
end
|
37
40
|
end
|
38
41
|
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# encoding: utf-8
|
1
2
|
require "spec_helper"
|
2
3
|
|
3
|
-
describe FastshopCatalog::
|
4
|
+
describe FastshopCatalog::ParticipantService do
|
4
5
|
|
5
6
|
let(:contract_number) do
|
6
7
|
"1234567890"
|
@@ -17,8 +18,10 @@ describe FastshopCatalog::OrderPlacementService do
|
|
17
18
|
describe "insert integration", :integration => true do
|
18
19
|
|
19
20
|
it "should insert the participant and return a null token" do
|
20
|
-
|
21
|
-
|
21
|
+
expect{service.insert(participant)}.to raise_error(FastshopCatalog::ServiceException) do |e|
|
22
|
+
expect(e.code).to eq(45)
|
23
|
+
expect(e.description).to eq('Email já cadastrado')
|
24
|
+
end
|
22
25
|
end
|
23
26
|
|
24
27
|
it "should raise incompatible address exception" do
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
require "spec_helper"
|
2
3
|
|
3
4
|
describe FastshopCatalog::OrderPlacementService do
|
@@ -35,8 +36,8 @@ describe FastshopCatalog::OrderPlacementService do
|
|
35
36
|
File.read("spec/fixtures/order_placement_successful_payload.json")
|
36
37
|
end
|
37
38
|
|
38
|
-
let(:
|
39
|
-
File.read("spec/fixtures/
|
39
|
+
let(:fixture_address_not_found) do
|
40
|
+
File.read("spec/fixtures/order_placement_address_not_found.xml")
|
40
41
|
end
|
41
42
|
|
42
43
|
let(:fixture_wrong_contract) do
|
@@ -48,10 +49,10 @@ describe FastshopCatalog::OrderPlacementService do
|
|
48
49
|
it "should raise cart not identified" do
|
49
50
|
encrypted_payload = service.encrypt(order_attr)
|
50
51
|
savon.expects(:incluir_pedido).with(:message => {'tns:contrato' => contract_number,
|
51
|
-
'tns:entrada' => encrypted_payload, 'tns:salt' => ''}).returns(
|
52
|
+
'tns:entrada' => encrypted_payload, 'tns:salt' => ''}).returns(fixture_address_not_found)
|
52
53
|
expect{service.place_order(order)}.to raise_error(FastshopCatalog::ServiceException) do |e|
|
53
|
-
expect(e.code).to eq(
|
54
|
-
expect(e.description).to eq('
|
54
|
+
expect(e.code).to eq(15)
|
55
|
+
expect(e.description).to eq('Endereço nao encontrado')
|
55
56
|
end
|
56
57
|
end
|
57
58
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
|
1
2
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
3
|
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
|
3
4
|
<s:Header>
|
@@ -5,7 +6,7 @@
|
|
5
6
|
</s:Header>
|
6
7
|
<s:Body>
|
7
8
|
<RetornaDadosResponse xmlns="http://tempuri.org/">
|
8
|
-
<RetornaDadosResult>{"Disponibilidade":
|
9
|
+
<RetornaDadosResult>{"Disponibilidade":{"EntregaDatas":[],"PrazoDias":2,"ValorFrete":10.11},"Retorno":{"IdRetorno":0,"MsgRetorno":"OK"}}</RetornaDadosResult>
|
9
10
|
</RetornaDadosResponse>
|
10
11
|
</s:Body>
|
11
12
|
</s:Envelope>
|
data/spec/fixtures/{order_placement_cart_not_identified.xml → order_placement_address_not_found.xml}
RENAMED
@@ -1,11 +1,10 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
1
|
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
|
3
2
|
<s:Header>
|
4
3
|
<a:Action s:mustUnderstand="1">http://tempuri.org/IColocacaoPedido/IncluirPedidoResponse</a:Action>
|
5
4
|
</s:Header>
|
6
5
|
<s:Body>
|
7
6
|
<IncluirPedidoResponse xmlns="http://tempuri.org/">
|
8
|
-
<IncluirPedidoResult>{"NumeroPedidoFast":null,"Retorno":{"IdRetorno":
|
7
|
+
<IncluirPedidoResult>{"NumeroPedidoFast":null,"Retorno":{"IdRetorno":15,"MsgRetorno":"Endereço nao encontrado"}}</IncluirPedidoResult>
|
9
8
|
</IncluirPedidoResponse>
|
10
9
|
</s:Body>
|
11
10
|
</s:Envelope>
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'savon/mock/spec_helper'
|
2
2
|
require 'json'
|
3
3
|
require_relative '../lib/fastshop_catalog'
|
4
|
+
require File.expand_path('../fastshop_catalog/participant_factory', __FILE__)
|
4
5
|
FastshopCatalog::BaseService.log_level = :debug
|
5
6
|
FastshopCatalog::BaseService::AUX_LOG.level = Logger::DEBUG
|
6
7
|
if ENV['integration'] == 'false'
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastshop_catalog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Thiago Ganzarolli
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-11-11 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: bundler
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,65 +27,57 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rake
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: pry
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rspec
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - '>='
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - '>='
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: savon
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - '>='
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - '>='
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0'
|
94
83
|
description: Integração com webservices da FastShop
|
@@ -98,7 +87,6 @@ executables: []
|
|
98
87
|
extensions: []
|
99
88
|
extra_rdoc_files: []
|
100
89
|
files:
|
101
|
-
- .DS_Store
|
102
90
|
- .gitignore
|
103
91
|
- Gemfile
|
104
92
|
- Gemfile.lock
|
@@ -146,11 +134,11 @@ files:
|
|
146
134
|
- spec/fastshop_catalog/product_service_spec.rb
|
147
135
|
- spec/fixtures/catalog_service_successful_response.xml
|
148
136
|
- spec/fixtures/catalog_service_wrong_contract_response.xml
|
149
|
-
- spec/fixtures/
|
137
|
+
- spec/fixtures/check_availability_successful_response.xml
|
150
138
|
- spec/fixtures/external_dne_service_successful_response.xml
|
151
139
|
- spec/fixtures/external_dne_service_wrong_contract_response.xml
|
152
140
|
- spec/fixtures/external_dne_service_wrong_zip_response.xml
|
153
|
-
- spec/fixtures/
|
141
|
+
- spec/fixtures/order_placement_address_not_found.xml
|
154
142
|
- spec/fixtures/order_placement_successful_delivery_payload.json
|
155
143
|
- spec/fixtures/order_placement_successful_payload.json
|
156
144
|
- spec/fixtures/order_status_service_order_not_found_response.xml
|
@@ -167,27 +155,26 @@ files:
|
|
167
155
|
homepage: ''
|
168
156
|
licenses:
|
169
157
|
- MIT
|
158
|
+
metadata: {}
|
170
159
|
post_install_message:
|
171
160
|
rdoc_options: []
|
172
161
|
require_paths:
|
173
162
|
- lib
|
174
163
|
required_ruby_version: !ruby/object:Gem::Requirement
|
175
|
-
none: false
|
176
164
|
requirements:
|
177
|
-
- -
|
165
|
+
- - '>='
|
178
166
|
- !ruby/object:Gem::Version
|
179
167
|
version: '0'
|
180
168
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
181
|
-
none: false
|
182
169
|
requirements:
|
183
|
-
- -
|
170
|
+
- - '>='
|
184
171
|
- !ruby/object:Gem::Version
|
185
172
|
version: '0'
|
186
173
|
requirements: []
|
187
174
|
rubyforge_project:
|
188
|
-
rubygems_version: 1.
|
175
|
+
rubygems_version: 2.1.9
|
189
176
|
signing_key:
|
190
|
-
specification_version:
|
177
|
+
specification_version: 4
|
191
178
|
summary: FastShop integrações
|
192
179
|
test_files:
|
193
180
|
- spec/.DS_Store
|
@@ -210,11 +197,11 @@ test_files:
|
|
210
197
|
- spec/fastshop_catalog/product_service_spec.rb
|
211
198
|
- spec/fixtures/catalog_service_successful_response.xml
|
212
199
|
- spec/fixtures/catalog_service_wrong_contract_response.xml
|
213
|
-
- spec/fixtures/
|
200
|
+
- spec/fixtures/check_availability_successful_response.xml
|
214
201
|
- spec/fixtures/external_dne_service_successful_response.xml
|
215
202
|
- spec/fixtures/external_dne_service_wrong_contract_response.xml
|
216
203
|
- spec/fixtures/external_dne_service_wrong_zip_response.xml
|
217
|
-
- spec/fixtures/
|
204
|
+
- spec/fixtures/order_placement_address_not_found.xml
|
218
205
|
- spec/fixtures/order_placement_successful_delivery_payload.json
|
219
206
|
- spec/fixtures/order_placement_successful_payload.json
|
220
207
|
- spec/fixtures/order_status_service_order_not_found_response.xml
|
data/.DS_Store
DELETED
Binary file
|