active_fulfillment 3.0.0.pre7 → 3.0.0.pre8
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81e4d46fc9e29790dedd89eeab465416f9bc2b8e
|
4
|
+
data.tar.gz: f8b1cb46b86a27625bb50fc3a68e4c301eed1315
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: faff4e5e9c15dda5586ead4afcb10a973d78ddbf56f4bac42ae7403e7a90ff1f2558287ee23e0878c08dc0bea01259ad03d28a47ce12fcdc63a3c8a7b28285e5
|
7
|
+
data.tar.gz: 06bbeab03d5155dd553af4ffe72fae585aeb06764e904218f5310e75c6f04933e90b0adeb71a95da7289b7efd9953ef40ed0f10ee01f5bbb72c12488268e1393
|
@@ -85,21 +85,21 @@ module ActiveFulfillment
|
|
85
85
|
def fulfill(order_id, shipping_address, line_items, options = {})
|
86
86
|
requires!(options, :order_date, :shipping_method)
|
87
87
|
with_error_handling do
|
88
|
-
data = commit :post, '
|
88
|
+
data = commit :post, 'FulfillmentOutboundShipment', build_fulfillment_request(order_id, shipping_address, line_items, options)
|
89
89
|
parse_fulfillment_response(parse_document(data), 'Successfully submitted the order')
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
93
93
|
def status
|
94
94
|
with_error_handling do
|
95
|
-
data = commit :post, '
|
95
|
+
data = commit :post, 'FulfillmentOutboundShipment', build_basic_api_query({ :Action => 'GetServiceStatus' })
|
96
96
|
parse_tracking_response(parse_document(data))
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
100
100
|
def fetch_current_orders
|
101
101
|
with_error_handling do
|
102
|
-
data = commit :post, '
|
102
|
+
data = commit :post, 'FulfillmentOutboundShipment', build_get_current_fulfillment_orders_request
|
103
103
|
parse_tracking_response(parse_document(data))
|
104
104
|
end
|
105
105
|
end
|
@@ -107,12 +107,12 @@ module ActiveFulfillment
|
|
107
107
|
def fetch_stock_levels(options = {})
|
108
108
|
options[:skus] = [options.delete(:sku)] if options.include?(:sku)
|
109
109
|
response = with_error_handling do
|
110
|
-
data = commit :post, '
|
110
|
+
data = commit :post, 'FulfillmentInventory', build_inventory_list_request(options)
|
111
111
|
parse_inventory_response(parse_document(data))
|
112
112
|
end
|
113
113
|
while token = response.params['next_token'] do
|
114
114
|
next_page = with_error_handling do
|
115
|
-
data = commit :post, '
|
115
|
+
data = commit :post, 'FulfillmentInventory', build_next_inventory_list_request(token)
|
116
116
|
parse_inventory_response(parse_document(data))
|
117
117
|
end
|
118
118
|
|
@@ -130,7 +130,7 @@ module ActiveFulfillment
|
|
130
130
|
order_ids.reduce(nil) do |previous, order_id|
|
131
131
|
index += 1
|
132
132
|
response = with_error_handling do
|
133
|
-
data = commit :post, '
|
133
|
+
data = commit :post, 'FulfillmentOutboundShipment', build_tracking_request(order_id, options)
|
134
134
|
parse_tracking_response(parse_document(data))
|
135
135
|
end
|
136
136
|
|
@@ -241,7 +241,6 @@ module ActiveFulfillment
|
|
241
241
|
response[:next_token] = next_token ? next_token.text : nil
|
242
242
|
|
243
243
|
response[:response_status] = SUCCESS
|
244
|
-
response
|
245
244
|
Response.new(success?(response), message_from(response), response)
|
246
245
|
end
|
247
246
|
|
@@ -245,7 +245,9 @@ class AmazonMarketplaceWebServiceTest < Minitest::Test
|
|
245
245
|
end
|
246
246
|
|
247
247
|
def test_successful_fulfillment
|
248
|
-
@service.expects(:ssl_post).
|
248
|
+
@service.expects(:ssl_post).with do |uri, query, headers|
|
249
|
+
assert_equal 'https://mws.amazonservices.com/FulfillmentOutboundShipment/2010-10-01', uri
|
250
|
+
end.returns(successful_fulfillment_response)
|
249
251
|
response = @service.fulfill('12345678', @address, @line_items, @options)
|
250
252
|
assert response.success?
|
251
253
|
end
|
@@ -276,7 +278,9 @@ class AmazonMarketplaceWebServiceTest < Minitest::Test
|
|
276
278
|
end
|
277
279
|
|
278
280
|
def test_get_inventory
|
279
|
-
@service.expects(:ssl_post).
|
281
|
+
@service.expects(:ssl_post).with do |uri, _, _|
|
282
|
+
assert_equal 'https://mws.amazonservices.com/FulfillmentInventory/2010-10-01', uri
|
283
|
+
end.returns(xml_fixture('amazon_mws/inventory_list_inventory_supply'))
|
280
284
|
|
281
285
|
@service.class.logger.expects(:info).with do |message|
|
282
286
|
assert_match /ListInventorySupply/, message unless message.include?('ListInventorySupplyResult')
|
@@ -293,10 +297,12 @@ class AmazonMarketplaceWebServiceTest < Minitest::Test
|
|
293
297
|
|
294
298
|
def test_get_inventory_multipage
|
295
299
|
@service.expects(:ssl_post).with() { |uri, query, headers|
|
300
|
+
assert_equal 'https://mws.amazonservices.com/FulfillmentInventory/2010-10-01', uri
|
296
301
|
query.include?('ListInventorySupply') && !query.include?('ListInventorySupplyByNextToken')
|
297
302
|
}.returns(xml_fixture('amazon_mws/inventory_list_inventory_supply_by_next_token'))
|
298
303
|
|
299
304
|
@service.expects(:ssl_post).with() { |uri, query, headers|
|
305
|
+
assert_equal 'https://mws.amazonservices.com/FulfillmentInventory/2010-10-01', uri
|
300
306
|
assert query.include?('login')
|
301
307
|
query.include?('ListInventorySupplyByNextToken') && query.include?('NextToken')
|
302
308
|
}.returns(xml_fixture('amazon_mws/inventory_list_inventory_supply'))
|
@@ -312,15 +318,15 @@ class AmazonMarketplaceWebServiceTest < Minitest::Test
|
|
312
318
|
|
313
319
|
def test_get_inventory_multipage_missing_stock
|
314
320
|
|
315
|
-
@service.expects(:ssl_post).with
|
321
|
+
@service.expects(:ssl_post).with { |uri, query, headers|
|
316
322
|
query.include?('ListInventorySupply') && !query.include?('ListInventorySupplyByNextToken')
|
317
323
|
}.returns(xml_fixture('amazon_mws/inventory_list_inventory_supply_by_next_token'))
|
318
324
|
|
319
325
|
# force missing stock by returning token'd ssl_post with a 503 error
|
320
326
|
http_response = build_mock_response(response_from_503, "", 503)
|
321
|
-
@service.expects(:ssl_post).with
|
327
|
+
@service.expects(:ssl_post).with do |uri, query, headers|
|
322
328
|
query.include?('ListInventorySupplyByNextToken') && query.include?('NextToken')
|
323
|
-
|
329
|
+
end.raises(ActiveUtils::ResponseError.new(http_response))
|
324
330
|
|
325
331
|
response = @service.fetch_stock_levels
|
326
332
|
assert !response.success?
|
@@ -332,8 +338,9 @@ class AmazonMarketplaceWebServiceTest < Minitest::Test
|
|
332
338
|
end
|
333
339
|
|
334
340
|
def test_fetch_tracking_numbers
|
335
|
-
@service.expects(:ssl_post).twice.
|
336
|
-
|
341
|
+
@service.expects(:ssl_post).twice.with do |uri, query, headers|
|
342
|
+
assert_equal 'https://mws.amazonservices.com/FulfillmentOutboundShipment/2010-10-01', uri
|
343
|
+
end.returns(xml_fixture('amazon_mws/fulfillment_get_fulfillment_order')).
|
337
344
|
returns(xml_fixture('amazon_mws/fulfillment_get_fulfillment_order_2'))
|
338
345
|
|
339
346
|
response = @service.fetch_tracking_numbers(['extern_id_1154539615776', 'extern_id_1154539615777'])
|