active_fulfillment 2.1.9 → 3.0.0.pre2
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 +4 -4
- data/CHANGELOG.md +68 -0
- data/lib/active_fulfillment.rb +5 -5
- data/lib/active_fulfillment/base.rb +10 -0
- data/lib/active_fulfillment/response.rb +26 -0
- data/lib/active_fulfillment/service.rb +56 -0
- data/lib/active_fulfillment/services.rb +5 -0
- data/lib/active_fulfillment/services/amazon_mws.rb +473 -0
- data/lib/active_fulfillment/services/james_and_james.rb +122 -0
- data/lib/active_fulfillment/services/shipwire.rb +266 -0
- data/lib/active_fulfillment/services/shopify_api.rb +125 -0
- data/lib/active_fulfillment/services/webgistix.rb +334 -0
- data/lib/active_fulfillment/version.rb +4 -0
- data/test/remote/amazon_mws_test.rb +20 -17
- data/test/remote/james_and_james_test.rb +77 -0
- data/test/remote/shipwire_test.rb +25 -25
- data/test/remote/webgistix_test.rb +21 -21
- data/test/test_helper.rb +27 -52
- data/test/unit/base_test.rb +4 -4
- data/test/unit/services/amazon_mws_test.rb +56 -26
- data/test/unit/services/james_and_james_test.rb +90 -0
- data/test/unit/services/shipwire_test.rb +18 -18
- data/test/unit/services/shopify_api_test.rb +7 -20
- data/test/unit/services/webgistix_test.rb +35 -35
- metadata +32 -114
- data/CHANGELOG +0 -62
- data/lib/active_fulfillment/fulfillment/base.rb +0 -12
- data/lib/active_fulfillment/fulfillment/response.rb +0 -28
- data/lib/active_fulfillment/fulfillment/service.rb +0 -58
- data/lib/active_fulfillment/fulfillment/services.rb +0 -5
- data/lib/active_fulfillment/fulfillment/services/amazon.rb +0 -389
- data/lib/active_fulfillment/fulfillment/services/amazon_mws.rb +0 -454
- data/lib/active_fulfillment/fulfillment/services/shipwire.rb +0 -268
- data/lib/active_fulfillment/fulfillment/services/shopify_api.rb +0 -125
- data/lib/active_fulfillment/fulfillment/services/webgistix.rb +0 -338
- data/lib/active_fulfillment/fulfillment/version.rb +0 -6
- data/test/fixtures.yml +0 -16
- data/test/fixtures/xml/amazon/inventory_get_response.xml +0 -17
- data/test/fixtures/xml/amazon/inventory_list_response.xml +0 -29
- data/test/fixtures/xml/amazon/inventory_list_response_with_next_1.xml +0 -30
- data/test/fixtures/xml/amazon/inventory_list_response_with_next_2.xml +0 -29
- data/test/fixtures/xml/amazon/tracking_response_1.xml +0 -56
- data/test/fixtures/xml/amazon/tracking_response_2.xml +0 -38
- data/test/fixtures/xml/amazon/tracking_response_error.xml +0 -13
- data/test/fixtures/xml/amazon/tracking_response_not_found.xml +0 -13
- data/test/fixtures/xml/amazon_mws/fulfillment_get_fulfillment_order.xml +0 -114
- data/test/fixtures/xml/amazon_mws/fulfillment_get_fulfillment_order_2.xml +0 -90
- data/test/fixtures/xml/amazon_mws/fulfillment_get_fullfillment_order_with_multiple_tracking_numbers.xml +0 -121
- data/test/fixtures/xml/amazon_mws/fulfillment_list_all_fulfillment_orders.xml +0 -70
- data/test/fixtures/xml/amazon_mws/inventory_list_inventory_item_supply.xml +0 -32
- data/test/fixtures/xml/amazon_mws/inventory_list_inventory_supply.xml +0 -75
- data/test/fixtures/xml/amazon_mws/inventory_list_inventory_supply_by_next_token.xml +0 -38
- data/test/fixtures/xml/amazon_mws/tracking_response_error.xml +0 -9
- data/test/fixtures/xml/amazon_mws/tracking_response_not_found.xml +0 -9
- data/test/fixtures/xml/shipwire/fulfillment_failure_response.xml +0 -7
- data/test/fixtures/xml/shipwire/invalid_login_response.xml +0 -7
- data/test/fixtures/xml/shipwire/inventory_get_response.xml +0 -44
- data/test/fixtures/xml/shipwire/successful_empty_tracking_response.xml +0 -8
- data/test/fixtures/xml/shipwire/successful_live_tracking_response.xml +0 -53
- data/test/fixtures/xml/shipwire/successful_tracking_response.xml +0 -16
- data/test/fixtures/xml/shipwire/successful_tracking_response_with_tracking_urls.xml +0 -31
- data/test/fixtures/xml/webgistix/multiple_tracking_response.xml +0 -21
- data/test/fixtures/xml/webgistix/tracking_response.xml +0 -14
- data/test/remote/amazon_test.rb +0 -124
- data/test/unit/services/amazon_test.rb +0 -271
@@ -0,0 +1,90 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class JamesAndJamesTest < Minitest::Test
|
4
|
+
def setup
|
5
|
+
ActiveFulfillment::Base.mode = :test
|
6
|
+
|
7
|
+
@service = ActiveFulfillment::JamesAndJamesService.new(subdomain: "client", key: "secret")
|
8
|
+
|
9
|
+
@options = {
|
10
|
+
:shipping_method => 'UPS Ground'
|
11
|
+
}
|
12
|
+
|
13
|
+
@address = { :name => 'Fred Brooks',
|
14
|
+
:address1 => '1234 Penny Lane',
|
15
|
+
:city => 'Jonsetown',
|
16
|
+
:state => 'NC',
|
17
|
+
:country => 'US',
|
18
|
+
:zip => '23456',
|
19
|
+
:email => 'buyer@jadedpallet.com'
|
20
|
+
}
|
21
|
+
|
22
|
+
@line_items = [
|
23
|
+
{sku: '9999', quantity: 25}
|
24
|
+
]
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_missing_key
|
28
|
+
assert_raises(ArgumentError) do
|
29
|
+
ActiveFulfillment::JamesAndJamesService.new
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_credentials_present
|
34
|
+
assert ActiveFulfillment::JamesAndJamesService.new(subdomain: "client", key: "secret")
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_successful_fulfillment
|
38
|
+
@service.expects(:ssl_post).returns(successful_response)
|
39
|
+
|
40
|
+
@options[:billing_address] = @address
|
41
|
+
response = @service.fulfill('123456', @address, @line_items, @options)
|
42
|
+
assert response.success?
|
43
|
+
assert response.test?
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_failed_fulfillment
|
47
|
+
@service.expects(:ssl_post).returns(failure_response)
|
48
|
+
|
49
|
+
@options[:billing_address] = @address
|
50
|
+
response = @service.fulfill('123456', @address, @line_items, @options)
|
51
|
+
assert !response.success?
|
52
|
+
assert response.test?
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_stock_levels
|
56
|
+
@service.expects(:ssl_get).returns(inventory_response)
|
57
|
+
|
58
|
+
response = @service.fetch_stock_levels
|
59
|
+
assert response.success?
|
60
|
+
assert_equal 99, response.stock['AAA']
|
61
|
+
assert_equal 9, response.stock['BBB']
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_garbage_response
|
65
|
+
@service.expects(:ssl_post).returns(garbage_response)
|
66
|
+
|
67
|
+
@options[:billing_address] = @address
|
68
|
+
response = @service.fulfill('123456', @address, @line_items, @options)
|
69
|
+
assert !response.success?
|
70
|
+
end
|
71
|
+
|
72
|
+
private
|
73
|
+
|
74
|
+
def successful_response
|
75
|
+
'{"success": true, "valid": true, "test": true}'
|
76
|
+
end
|
77
|
+
|
78
|
+
def failure_response
|
79
|
+
'{"success": false, "test": true}'
|
80
|
+
end
|
81
|
+
|
82
|
+
def garbage_response
|
83
|
+
'<font face="Arial" size=2>/XML/shippingTest.asp</font><font face="Arial" size=2>, line 39</font>'
|
84
|
+
end
|
85
|
+
|
86
|
+
def inventory_response
|
87
|
+
'{"success": true, "stock": {"AAA": 99, "BBB": 9}, "test": true}'
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
@@ -1,10 +1,12 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class ShipwireTest < Test
|
3
|
+
class ShipwireTest < Minitest::Test
|
4
|
+
include ActiveFulfillment::Test::Fixtures
|
5
|
+
|
4
6
|
def setup
|
5
|
-
Base.mode = :test
|
7
|
+
ActiveFulfillment::Base.mode = :test
|
6
8
|
|
7
|
-
@shipwire = ShipwireService.new(
|
9
|
+
@shipwire = ActiveFulfillment::ShipwireService.new(
|
8
10
|
:login => 'cody@example.com',
|
9
11
|
:password => 'test'
|
10
12
|
)
|
@@ -29,30 +31,28 @@ class ShipwireTest < Test::Unit::TestCase
|
|
29
31
|
end
|
30
32
|
|
31
33
|
def test_missing_login
|
32
|
-
|
33
|
-
ShipwireService.new(:password => 'test')
|
34
|
+
assert_raises(ArgumentError) do
|
35
|
+
ActiveFulfillment::ShipwireService.new(:password => 'test')
|
34
36
|
end
|
35
37
|
end
|
36
38
|
|
37
39
|
def test_missing_password
|
38
|
-
|
39
|
-
ShipwireService.new(:login => 'cody')
|
40
|
+
assert_raises(ArgumentError) do
|
41
|
+
ActiveFulfillment::ShipwireService.new(:login => 'cody')
|
40
42
|
end
|
41
43
|
end
|
42
44
|
|
43
45
|
def test_missing_credentials
|
44
|
-
|
45
|
-
ShipwireService.new(:password => 'test')
|
46
|
+
assert_raises(ArgumentError) do
|
47
|
+
ActiveFulfillment::ShipwireService.new(:password => 'test')
|
46
48
|
end
|
47
49
|
end
|
48
50
|
|
49
51
|
def test_credentials_present
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
)
|
55
|
-
end
|
52
|
+
assert ActiveFulfillment::ShipwireService.new(
|
53
|
+
:login => 'cody',
|
54
|
+
:password => 'test'
|
55
|
+
)
|
56
56
|
end
|
57
57
|
|
58
58
|
def test_country_format
|
@@ -72,7 +72,7 @@ class ShipwireTest < Test::Unit::TestCase
|
|
72
72
|
end
|
73
73
|
|
74
74
|
def test_stock_levels_include_pending_when_set
|
75
|
-
@shipwire = ShipwireService.new(
|
75
|
+
@shipwire = ActiveFulfillment::ShipwireService.new(
|
76
76
|
:login => 'cody@example.com',
|
77
77
|
:password => 'test',
|
78
78
|
:include_pending_stock => true
|
@@ -88,7 +88,7 @@ class ShipwireTest < Test::Unit::TestCase
|
|
88
88
|
end
|
89
89
|
|
90
90
|
def test_inventory_request_with_include_empty_tag
|
91
|
-
@shipwire = ShipwireService.new(
|
91
|
+
@shipwire = ActiveFulfillment::ShipwireService.new(
|
92
92
|
:login => 'cody@example.com',
|
93
93
|
:password => 'test',
|
94
94
|
:include_empty_stock => true
|
@@ -163,7 +163,7 @@ class ShipwireTest < Test::Unit::TestCase
|
|
163
163
|
end
|
164
164
|
|
165
165
|
def test_affiliate_id
|
166
|
-
|
166
|
+
ActiveFulfillment::ShipwireService.affiliate_id = 'affiliate_id'
|
167
167
|
|
168
168
|
xml = REXML::Document.new(@shipwire.send(:build_fulfillment_request, '123456', @address, @line_items, @options))
|
169
169
|
affiliate_id = REXML::XPath.first(xml, "//AffiliateId")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class ShopifyAPITest < Test
|
3
|
+
class ShopifyAPITest < Minitest::Test
|
4
4
|
|
5
5
|
def setup
|
6
6
|
@service = build_service()
|
@@ -64,19 +64,6 @@ class ShopifyAPITest < Test::Unit::TestCase
|
|
64
64
|
assert_equal expected, service.fetch_stock_levels().stock_levels
|
65
65
|
end
|
66
66
|
|
67
|
-
def test_parse_tracking_data_response_parses_xml_correctly
|
68
|
-
service = build_service(format: 'xml')
|
69
|
-
xml = '<TrackingNumbers><Order><ID>123</ID><Tracking>abc</Tracking></Order><Order><ID>456</ID><Tracking>def</Tracking></Order></TrackingNumbers>'
|
70
|
-
expected = {'123' => 'abc', '456' => 'def'}
|
71
|
-
request_params = {order_ids: [1, 2, 4], order_names: [1, 2, 4]}
|
72
|
-
|
73
|
-
mock_app_request('fetch_tracking_numbers', request_params, xml)
|
74
|
-
assert_equal expected, service.fetch_tracking_data([1,2,4]).tracking_numbers
|
75
|
-
|
76
|
-
after_deprecation = Time.now.to_date >= ShopifyAPIService::OrderIdCutoffDate
|
77
|
-
flunk "The request params should no longer include 'order_ids'" if after_deprecation
|
78
|
-
end
|
79
|
-
|
80
67
|
def test_parse_stock_level_response_parses_json_with_root_correctly
|
81
68
|
json = '{"stock_levels": {"998KIB":"10"}}'
|
82
69
|
expected = {'998KIB' => "10"}
|
@@ -111,19 +98,19 @@ class ShopifyAPITest < Test::Unit::TestCase
|
|
111
98
|
|
112
99
|
def test_send_app_request_rescues_response_errors
|
113
100
|
response = stub(code: "404", message: "Not Found")
|
114
|
-
@service.expects(:ssl_get).raises(
|
115
|
-
refute @service.fetch_stock_levels
|
101
|
+
@service.expects(:ssl_get).raises(ActiveUtils::ResponseError, response)
|
102
|
+
refute @service.fetch_stock_levels.success?
|
116
103
|
end
|
117
104
|
|
118
105
|
def test_send_app_request_rescues_invalid_response_errors
|
119
|
-
@service.expects(:ssl_get).raises(
|
120
|
-
refute @service.fetch_stock_levels
|
106
|
+
@service.expects(:ssl_get).raises(ActiveUtils::InvalidResponseError.new("error html"))
|
107
|
+
refute @service.fetch_stock_levels.success?
|
121
108
|
end
|
122
109
|
|
123
110
|
private
|
124
111
|
|
125
112
|
def mock_app_request(action, input, output)
|
126
|
-
ShopifyAPIService.any_instance.expects(:send_app_request).with(action, nil, input).returns(output)
|
113
|
+
ActiveFulfillment::ShopifyAPIService.any_instance.expects(:send_app_request).with(action, nil, input).returns(output)
|
127
114
|
end
|
128
115
|
|
129
116
|
def build_service(options = {})
|
@@ -132,6 +119,6 @@ class ShopifyAPITest < Test::Unit::TestCase
|
|
132
119
|
callback_url: 'http://supershopifyapptwin.com',
|
133
120
|
format: 'json'
|
134
121
|
})
|
135
|
-
ShopifyAPIService.new(options)
|
122
|
+
ActiveFulfillment::ShopifyAPIService.new(options)
|
136
123
|
end
|
137
124
|
end
|
@@ -1,19 +1,21 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class WebgistixTest < Test
|
4
|
-
|
5
|
-
Base.mode = :test
|
3
|
+
class WebgistixTest < Minitest::Test
|
4
|
+
include ActiveFulfillment::Test::Fixtures
|
6
5
|
|
7
|
-
|
6
|
+
def setup
|
7
|
+
ActiveFulfillment::Base.mode = :test
|
8
|
+
|
9
|
+
@service = ActiveFulfillment::WebgistixService.new(
|
8
10
|
:login => 'cody@example.com',
|
9
11
|
:password => 'test'
|
10
12
|
)
|
11
13
|
|
12
|
-
|
13
|
-
|
14
|
-
|
14
|
+
@options = {
|
15
|
+
:shipping_method => 'UPS Ground'
|
16
|
+
}
|
15
17
|
|
16
|
-
|
18
|
+
@address = { :name => 'Fred Brooks',
|
17
19
|
:address1 => '1234 Penny Lane',
|
18
20
|
:city => 'Jonsetown',
|
19
21
|
:state => 'NC',
|
@@ -22,38 +24,36 @@ class WebgistixTest < Test::Unit::TestCase
|
|
22
24
|
:email => 'buyer@jadedpallet.com'
|
23
25
|
}
|
24
26
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
27
|
+
@line_items = [
|
28
|
+
{ :sku => '9999',
|
29
|
+
:quantity => 25
|
30
|
+
}
|
31
|
+
]
|
30
32
|
end
|
31
33
|
|
32
34
|
def test_missing_login
|
33
|
-
|
34
|
-
WebgistixService.new(:password => 'test')
|
35
|
+
assert_raises(ArgumentError) do
|
36
|
+
ActiveFulfillment::WebgistixService.new(:password => 'test')
|
35
37
|
end
|
36
38
|
end
|
37
39
|
|
38
40
|
def test_missing_password
|
39
|
-
|
40
|
-
WebgistixService.new(:login => 'cody')
|
41
|
+
assert_raises(ArgumentError) do
|
42
|
+
ActiveFulfillment::WebgistixService.new(:login => 'cody')
|
41
43
|
end
|
42
44
|
end
|
43
45
|
|
44
46
|
def test_missing_credentials
|
45
|
-
|
46
|
-
WebgistixService.new(:password => 'test')
|
47
|
+
assert_raises(ArgumentError) do
|
48
|
+
ActiveFulfillment::WebgistixService.new(:password => 'test')
|
47
49
|
end
|
48
50
|
end
|
49
51
|
|
50
52
|
def test_credentials_present
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
)
|
56
|
-
end
|
53
|
+
assert ActiveFulfillment::WebgistixService.new(
|
54
|
+
:login => 'cody',
|
55
|
+
:password => 'test'
|
56
|
+
)
|
57
57
|
end
|
58
58
|
|
59
59
|
def test_successful_fulfillment
|
@@ -62,7 +62,7 @@ class WebgistixTest < Test::Unit::TestCase
|
|
62
62
|
response = @service.fulfill('123456', @address, @line_items, @options)
|
63
63
|
assert response.success?
|
64
64
|
assert response.test?
|
65
|
-
assert_equal WebgistixService::SUCCESS_MESSAGE, response.message
|
65
|
+
assert_equal ActiveFulfillment::WebgistixService::SUCCESS_MESSAGE, response.message
|
66
66
|
assert_equal '619669', response.params['order_id']
|
67
67
|
end
|
68
68
|
|
@@ -72,7 +72,7 @@ class WebgistixTest < Test::Unit::TestCase
|
|
72
72
|
response = @service.fulfill('123456', @address, @line_items, @options)
|
73
73
|
assert response.success?
|
74
74
|
assert response.test?
|
75
|
-
assert_equal WebgistixService::SUCCESS_MESSAGE, response.message
|
75
|
+
assert_equal ActiveFulfillment::WebgistixService::SUCCESS_MESSAGE, response.message
|
76
76
|
assert_nil response.params['order_id']
|
77
77
|
end
|
78
78
|
|
@@ -82,7 +82,7 @@ class WebgistixTest < Test::Unit::TestCase
|
|
82
82
|
response = @service.fulfill('123456', @address, @line_items, @options)
|
83
83
|
assert !response.success?
|
84
84
|
assert response.test?
|
85
|
-
assert_equal WebgistixService::FAILURE_MESSAGE, response.message
|
85
|
+
assert_equal ActiveFulfillment::WebgistixService::FAILURE_MESSAGE, response.message
|
86
86
|
assert_nil response.params['order_id']
|
87
87
|
|
88
88
|
assert_equal 'No Address Line 1', response.params['error_0']
|
@@ -95,7 +95,7 @@ class WebgistixTest < Test::Unit::TestCase
|
|
95
95
|
|
96
96
|
response = @service.fetch_stock_levels
|
97
97
|
assert response.success?
|
98
|
-
assert_equal WebgistixService::SUCCESS_MESSAGE, response.message
|
98
|
+
assert_equal ActiveFulfillment::WebgistixService::SUCCESS_MESSAGE, response.message
|
99
99
|
assert_equal 202, response.stock_levels['GN-00-01A']
|
100
100
|
assert_equal 199, response.stock_levels['GN-00-02A']
|
101
101
|
end
|
@@ -105,7 +105,7 @@ class WebgistixTest < Test::Unit::TestCase
|
|
105
105
|
|
106
106
|
response = @service.fetch_tracking_numbers(['AB12345', 'XY4567'])
|
107
107
|
assert response.success?
|
108
|
-
assert_equal WebgistixService::SUCCESS_MESSAGE, response.message
|
108
|
+
assert_equal ActiveFulfillment::WebgistixService::SUCCESS_MESSAGE, response.message
|
109
109
|
assert_equal ['1Z8E5A380396682872'], response.tracking_numbers['AB12345']
|
110
110
|
assert_nil response.tracking_numbers['XY4567']
|
111
111
|
end
|
@@ -117,7 +117,7 @@ class WebgistixTest < Test::Unit::TestCase
|
|
117
117
|
response = @service.fetch_tracking_numbers([invoice_number])
|
118
118
|
|
119
119
|
assert response.success?
|
120
|
-
assert_equal WebgistixService::SUCCESS_MESSAGE, response.message
|
120
|
+
assert_equal ActiveFulfillment::WebgistixService::SUCCESS_MESSAGE, response.message
|
121
121
|
assert_equal ['345678070437428', '546932544227'], response.tracking_numbers[invoice_number]
|
122
122
|
end
|
123
123
|
|
@@ -127,7 +127,7 @@ class WebgistixTest < Test::Unit::TestCase
|
|
127
127
|
response = @service.fetch_tracking_data(['AB12345', 'XY4567'])
|
128
128
|
|
129
129
|
assert response.success?
|
130
|
-
assert_equal WebgistixService::SUCCESS_MESSAGE, response.message
|
130
|
+
assert_equal ActiveFulfillment::WebgistixService::SUCCESS_MESSAGE, response.message
|
131
131
|
assert_equal ['1Z8E5A380396682872'], response.tracking_numbers['AB12345']
|
132
132
|
assert_equal ['UPS'], response.tracking_companies['AB12345']
|
133
133
|
assert_equal({}, response.tracking_urls)
|
@@ -151,7 +151,7 @@ class WebgistixTest < Test::Unit::TestCase
|
|
151
151
|
response = @service.fulfill('123456', @address, @line_items, @options)
|
152
152
|
assert !response.success?
|
153
153
|
assert response.test?
|
154
|
-
assert_equal WebgistixService::FAILURE_MESSAGE, response.message
|
154
|
+
assert_equal ActiveFulfillment::WebgistixService::FAILURE_MESSAGE, response.message
|
155
155
|
assert_nil response.params['order_id']
|
156
156
|
end
|
157
157
|
|
@@ -167,12 +167,12 @@ class WebgistixTest < Test::Unit::TestCase
|
|
167
167
|
|
168
168
|
def test_duplicate_response_is_treated_as_success
|
169
169
|
response = stub(:code => 200, :body => duplicate_response, :message => '')
|
170
|
-
Net::HTTP.any_instance.stubs(:post).raises(
|
170
|
+
Net::HTTP.any_instance.stubs(:post).raises(ActiveUtils::ConnectionError).returns(response)
|
171
171
|
|
172
172
|
response = @service.fulfill('123456', @address, @line_items, @options)
|
173
173
|
assert response.success?
|
174
174
|
assert response.test?
|
175
|
-
assert_equal WebgistixService::DUPLICATE_MESSAGE, response.message
|
175
|
+
assert_equal ActiveFulfillment::WebgistixService::DUPLICATE_MESSAGE, response.message
|
176
176
|
assert response.params['duplicate']
|
177
177
|
assert_nil response.params['order_id']
|
178
178
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_fulfillment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0.pre2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cody Fauser
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2015-08-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -45,14 +45,14 @@ dependencies:
|
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
48
|
+
version: '3.0'
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
55
|
+
version: '3.0'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: rake
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,48 +67,34 @@ dependencies:
|
|
67
67
|
- - ">="
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '0'
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: byebug
|
72
|
-
requirement: !ruby/object:Gem::Requirement
|
73
|
-
requirements:
|
74
|
-
- - ">="
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: '0'
|
77
|
-
type: :development
|
78
|
-
prerelease: false
|
79
|
-
version_requirements: !ruby/object:Gem::Requirement
|
80
|
-
requirements:
|
81
|
-
- - ">="
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: '0'
|
84
70
|
- !ruby/object:Gem::Dependency
|
85
71
|
name: mocha
|
86
72
|
requirement: !ruby/object:Gem::Requirement
|
87
73
|
requirements:
|
88
|
-
- - "
|
74
|
+
- - "~>"
|
89
75
|
- !ruby/object:Gem::Version
|
90
|
-
version: '
|
76
|
+
version: '1.1'
|
91
77
|
type: :development
|
92
78
|
prerelease: false
|
93
79
|
version_requirements: !ruby/object:Gem::Requirement
|
94
80
|
requirements:
|
95
|
-
- - "
|
81
|
+
- - "~>"
|
96
82
|
- !ruby/object:Gem::Version
|
97
|
-
version: '
|
83
|
+
version: '1.1'
|
98
84
|
- !ruby/object:Gem::Dependency
|
99
85
|
name: minitest
|
100
86
|
requirement: !ruby/object:Gem::Requirement
|
101
87
|
requirements:
|
102
88
|
- - ">="
|
103
89
|
- !ruby/object:Gem::Version
|
104
|
-
version: '
|
90
|
+
version: '4.7'
|
105
91
|
type: :development
|
106
92
|
prerelease: false
|
107
93
|
version_requirements: !ruby/object:Gem::Requirement
|
108
94
|
requirements:
|
109
95
|
- - ">="
|
110
96
|
- !ruby/object:Gem::Version
|
111
|
-
version: '
|
97
|
+
version: '4.7'
|
112
98
|
- !ruby/object:Gem::Dependency
|
113
99
|
name: timecop
|
114
100
|
requirement: !ruby/object:Gem::Requirement
|
@@ -123,73 +109,32 @@ dependencies:
|
|
123
109
|
- - ">="
|
124
110
|
- !ruby/object:Gem::Version
|
125
111
|
version: '0'
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: rdoc
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
requirements:
|
130
|
-
- - ">="
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version: 2.4.2
|
133
|
-
type: :development
|
134
|
-
prerelease: false
|
135
|
-
version_requirements: !ruby/object:Gem::Requirement
|
136
|
-
requirements:
|
137
|
-
- - ">="
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
version: 2.4.2
|
140
112
|
description:
|
141
113
|
email: cody@shopify.com
|
142
114
|
executables: []
|
143
115
|
extensions: []
|
144
116
|
extra_rdoc_files: []
|
145
117
|
files:
|
146
|
-
- CHANGELOG
|
118
|
+
- CHANGELOG.md
|
147
119
|
- lib/active_fulfillment.rb
|
148
|
-
- lib/active_fulfillment/
|
149
|
-
- lib/active_fulfillment/
|
150
|
-
- lib/active_fulfillment/
|
151
|
-
- lib/active_fulfillment/
|
152
|
-
- lib/active_fulfillment/
|
153
|
-
- lib/active_fulfillment/
|
154
|
-
- lib/active_fulfillment/
|
155
|
-
- lib/active_fulfillment/
|
156
|
-
- lib/active_fulfillment/
|
157
|
-
- lib/active_fulfillment/
|
158
|
-
- test/fixtures.yml
|
159
|
-
- test/fixtures/xml/amazon/inventory_get_response.xml
|
160
|
-
- test/fixtures/xml/amazon/inventory_list_response.xml
|
161
|
-
- test/fixtures/xml/amazon/inventory_list_response_with_next_1.xml
|
162
|
-
- test/fixtures/xml/amazon/inventory_list_response_with_next_2.xml
|
163
|
-
- test/fixtures/xml/amazon/tracking_response_1.xml
|
164
|
-
- test/fixtures/xml/amazon/tracking_response_2.xml
|
165
|
-
- test/fixtures/xml/amazon/tracking_response_error.xml
|
166
|
-
- test/fixtures/xml/amazon/tracking_response_not_found.xml
|
167
|
-
- test/fixtures/xml/amazon_mws/fulfillment_get_fulfillment_order.xml
|
168
|
-
- test/fixtures/xml/amazon_mws/fulfillment_get_fulfillment_order_2.xml
|
169
|
-
- test/fixtures/xml/amazon_mws/fulfillment_get_fullfillment_order_with_multiple_tracking_numbers.xml
|
170
|
-
- test/fixtures/xml/amazon_mws/fulfillment_list_all_fulfillment_orders.xml
|
171
|
-
- test/fixtures/xml/amazon_mws/inventory_list_inventory_item_supply.xml
|
172
|
-
- test/fixtures/xml/amazon_mws/inventory_list_inventory_supply.xml
|
173
|
-
- test/fixtures/xml/amazon_mws/inventory_list_inventory_supply_by_next_token.xml
|
174
|
-
- test/fixtures/xml/amazon_mws/tracking_response_error.xml
|
175
|
-
- test/fixtures/xml/amazon_mws/tracking_response_not_found.xml
|
176
|
-
- test/fixtures/xml/shipwire/fulfillment_failure_response.xml
|
177
|
-
- test/fixtures/xml/shipwire/invalid_login_response.xml
|
178
|
-
- test/fixtures/xml/shipwire/inventory_get_response.xml
|
179
|
-
- test/fixtures/xml/shipwire/successful_empty_tracking_response.xml
|
180
|
-
- test/fixtures/xml/shipwire/successful_live_tracking_response.xml
|
181
|
-
- test/fixtures/xml/shipwire/successful_tracking_response.xml
|
182
|
-
- test/fixtures/xml/shipwire/successful_tracking_response_with_tracking_urls.xml
|
183
|
-
- test/fixtures/xml/webgistix/multiple_tracking_response.xml
|
184
|
-
- test/fixtures/xml/webgistix/tracking_response.xml
|
120
|
+
- lib/active_fulfillment/base.rb
|
121
|
+
- lib/active_fulfillment/response.rb
|
122
|
+
- lib/active_fulfillment/service.rb
|
123
|
+
- lib/active_fulfillment/services.rb
|
124
|
+
- lib/active_fulfillment/services/amazon_mws.rb
|
125
|
+
- lib/active_fulfillment/services/james_and_james.rb
|
126
|
+
- lib/active_fulfillment/services/shipwire.rb
|
127
|
+
- lib/active_fulfillment/services/shopify_api.rb
|
128
|
+
- lib/active_fulfillment/services/webgistix.rb
|
129
|
+
- lib/active_fulfillment/version.rb
|
185
130
|
- test/remote/amazon_mws_test.rb
|
186
|
-
- test/remote/
|
131
|
+
- test/remote/james_and_james_test.rb
|
187
132
|
- test/remote/shipwire_test.rb
|
188
133
|
- test/remote/webgistix_test.rb
|
189
134
|
- test/test_helper.rb
|
190
135
|
- test/unit/base_test.rb
|
191
136
|
- test/unit/services/amazon_mws_test.rb
|
192
|
-
- test/unit/services/
|
137
|
+
- test/unit/services/james_and_james_test.rb
|
193
138
|
- test/unit/services/shipwire_test.rb
|
194
139
|
- test/unit/services/shopify_api_test.rb
|
195
140
|
- test/unit/services/webgistix_test.rb
|
@@ -212,47 +157,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
212
157
|
version: '0'
|
213
158
|
requirements: []
|
214
159
|
rubyforge_project:
|
215
|
-
rubygems_version: 2.2.
|
160
|
+
rubygems_version: 2.2.3
|
216
161
|
signing_key:
|
217
162
|
specification_version: 4
|
218
163
|
summary: Framework and tools for dealing with shipping, tracking and order fulfillment
|
219
164
|
services.
|
220
165
|
test_files:
|
221
|
-
- test/fixtures/xml/amazon/inventory_get_response.xml
|
222
|
-
- test/fixtures/xml/amazon/inventory_list_response.xml
|
223
|
-
- test/fixtures/xml/amazon/inventory_list_response_with_next_1.xml
|
224
|
-
- test/fixtures/xml/amazon/inventory_list_response_with_next_2.xml
|
225
|
-
- test/fixtures/xml/amazon/tracking_response_1.xml
|
226
|
-
- test/fixtures/xml/amazon/tracking_response_2.xml
|
227
|
-
- test/fixtures/xml/amazon/tracking_response_error.xml
|
228
|
-
- test/fixtures/xml/amazon/tracking_response_not_found.xml
|
229
|
-
- test/fixtures/xml/amazon_mws/fulfillment_get_fulfillment_order.xml
|
230
|
-
- test/fixtures/xml/amazon_mws/fulfillment_get_fulfillment_order_2.xml
|
231
|
-
- test/fixtures/xml/amazon_mws/fulfillment_get_fullfillment_order_with_multiple_tracking_numbers.xml
|
232
|
-
- test/fixtures/xml/amazon_mws/fulfillment_list_all_fulfillment_orders.xml
|
233
|
-
- test/fixtures/xml/amazon_mws/inventory_list_inventory_item_supply.xml
|
234
|
-
- test/fixtures/xml/amazon_mws/inventory_list_inventory_supply.xml
|
235
|
-
- test/fixtures/xml/amazon_mws/inventory_list_inventory_supply_by_next_token.xml
|
236
|
-
- test/fixtures/xml/amazon_mws/tracking_response_error.xml
|
237
|
-
- test/fixtures/xml/amazon_mws/tracking_response_not_found.xml
|
238
|
-
- test/fixtures/xml/shipwire/fulfillment_failure_response.xml
|
239
|
-
- test/fixtures/xml/shipwire/invalid_login_response.xml
|
240
|
-
- test/fixtures/xml/shipwire/inventory_get_response.xml
|
241
|
-
- test/fixtures/xml/shipwire/successful_empty_tracking_response.xml
|
242
|
-
- test/fixtures/xml/shipwire/successful_live_tracking_response.xml
|
243
|
-
- test/fixtures/xml/shipwire/successful_tracking_response.xml
|
244
|
-
- test/fixtures/xml/shipwire/successful_tracking_response_with_tracking_urls.xml
|
245
|
-
- test/fixtures/xml/webgistix/multiple_tracking_response.xml
|
246
|
-
- test/fixtures/xml/webgistix/tracking_response.xml
|
247
|
-
- test/fixtures.yml
|
248
|
-
- test/remote/amazon_mws_test.rb
|
249
|
-
- test/remote/amazon_test.rb
|
250
|
-
- test/remote/shipwire_test.rb
|
251
|
-
- test/remote/webgistix_test.rb
|
252
166
|
- test/test_helper.rb
|
253
|
-
- test/
|
254
|
-
- test/
|
255
|
-
- test/
|
256
|
-
- test/
|
167
|
+
- test/remote/webgistix_test.rb
|
168
|
+
- test/remote/shipwire_test.rb
|
169
|
+
- test/remote/james_and_james_test.rb
|
170
|
+
- test/remote/amazon_mws_test.rb
|
257
171
|
- test/unit/services/shopify_api_test.rb
|
258
172
|
- test/unit/services/webgistix_test.rb
|
173
|
+
- test/unit/services/shipwire_test.rb
|
174
|
+
- test/unit/services/james_and_james_test.rb
|
175
|
+
- test/unit/services/amazon_mws_test.rb
|
176
|
+
- test/unit/base_test.rb
|