mws-orders 0.2.0 → 0.4.0
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 +5 -5
- data/README.md +13 -9
- data/lib/mws/orders/collection.rb +10 -10
- data/lib/mws/orders/document.rb +4 -2
- data/lib/mws/orders/entity.rb +13 -10
- data/lib/mws/orders/invoice_data.rb +7 -5
- data/lib/mws/orders/message.rb +17 -0
- data/lib/mws/orders/order.rb +40 -32
- data/lib/mws/orders/order_item.rb +33 -27
- data/lib/mws/orders/order_items.rb +7 -5
- data/lib/mws/orders/orders.rb +7 -5
- data/lib/mws/orders/parser.rb +49 -24
- data/lib/mws/orders/payment_execution_detail.rb +8 -4
- data/lib/mws/orders/payment_execution_detail_item.rb +5 -3
- data/lib/mws/orders/service_status.rb +8 -6
- data/lib/mws/orders/shipping_address.rb +9 -7
- data/lib/mws/orders/tokenable.rb +3 -1
- data/lib/mws/orders/version.rb +3 -1
- data/test/fixtures/orders.xml +4 -1
- data/test/mws/orders/test_entity.rb +44 -42
- data/test/mws/orders/test_message.rb +18 -0
- data/test/mws/orders/test_order.rb +16 -2
- data/test/mws/orders/test_order_item.rb +8 -2
- data/test/mws/orders/test_order_items.rb +4 -2
- data/test/mws/orders/test_orders.rb +4 -2
- data/test/mws/orders/test_parser.rb +3 -1
- data/test/mws/orders/test_payment_execution_detail.rb +6 -2
- data/test/mws/orders/test_payment_execution_detail_item.rb +5 -2
- data/test/mws/orders/test_service_status.rb +6 -2
- data/test/mws/orders/test_shipping_address.rb +4 -2
- data/test/mws/orders/test_tokenable.rb +8 -6
- data/test/test_helper.rb +12 -9
- metadata +70 -33
- data/lib/mws-orders.rb +0 -2
- data/lib/mws/orders/service_status_message.rb +0 -15
- data/test/integration/test_mws_orders.rb +0 -27
- data/test/mws/orders/test_service_status_message.rb +0 -16
@@ -1,8 +1,10 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_helper'
|
2
4
|
|
3
5
|
class TestOrder < MiniTest::Test
|
4
6
|
def setup
|
5
|
-
node =
|
7
|
+
node = load_fixture('orders').at_xpath('//xmlns:Order')
|
6
8
|
@order = Order.new(node)
|
7
9
|
end
|
8
10
|
|
@@ -82,4 +84,16 @@ class TestOrder < MiniTest::Test
|
|
82
84
|
@order.xpath('ShippingAddress').remove
|
83
85
|
assert_nil @order.shipping_address
|
84
86
|
end
|
87
|
+
|
88
|
+
def test_latest_shipped_at
|
89
|
+
assert_kind_of Time, @order.latest_shipped_at
|
90
|
+
end
|
91
|
+
|
92
|
+
def test_latest_delivered_at
|
93
|
+
assert_kind_of Time, @order.latest_delivered_at
|
94
|
+
end
|
95
|
+
|
96
|
+
def test_to_s
|
97
|
+
assert_equal @order.amazon_order_id, @order.to_s
|
98
|
+
end
|
85
99
|
end
|
@@ -1,8 +1,10 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_helper'
|
2
4
|
|
3
5
|
class TestOrderItemTest < MiniTest::Test
|
4
6
|
def setup
|
5
|
-
node =
|
7
|
+
node = load_fixture('order_items').at_xpath('//xmlns:OrderItem')
|
6
8
|
@order_item = OrderItem.new(node)
|
7
9
|
end
|
8
10
|
|
@@ -65,4 +67,8 @@ class TestOrderItemTest < MiniTest::Test
|
|
65
67
|
def test_gift_wrap_level
|
66
68
|
assert_kind_of String, @order_item.gift_wrap_level
|
67
69
|
end
|
70
|
+
|
71
|
+
def test_to_s
|
72
|
+
assert_equal @order_item.order_item_id, @order_item.to_s
|
73
|
+
end
|
68
74
|
end
|
@@ -1,8 +1,10 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_helper'
|
2
4
|
|
3
5
|
class TestOrderItems < MiniTest::Test
|
4
6
|
def setup
|
5
|
-
node =
|
7
|
+
node = load_fixture('order_items').xpath('//xmlns:ListOrderItemsResult')
|
6
8
|
@order_items = OrderItems.new(node)
|
7
9
|
end
|
8
10
|
|
@@ -1,8 +1,10 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_helper'
|
2
4
|
|
3
5
|
class TestOrders < MiniTest::Test
|
4
6
|
def setup
|
5
|
-
node =
|
7
|
+
node = load_fixture('orders').xpath('//xmlns:ListOrdersResult')
|
6
8
|
@orders = Orders.new(node)
|
7
9
|
end
|
8
10
|
|
@@ -1,8 +1,12 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_helper'
|
2
4
|
|
3
5
|
class TestPaymentExecutionDetail < MiniTest::Test
|
4
6
|
def setup
|
5
|
-
node =
|
7
|
+
node =
|
8
|
+
load_fixture('orders').xpath('//xmlns:PaymentExecutionDetail')
|
9
|
+
.first
|
6
10
|
@ped = PaymentExecutionDetail.new(node)
|
7
11
|
end
|
8
12
|
|
@@ -1,8 +1,11 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_helper'
|
2
4
|
|
3
5
|
class TestPaymentExecutionDetailItem < MiniTest::Test
|
4
6
|
def setup
|
5
|
-
node =
|
7
|
+
node =
|
8
|
+
load_fixture('orders').xpath('//xmlns:PaymentExecutionDetailItem').first
|
6
9
|
@pedi = PaymentExecutionDetailItem.new(node)
|
7
10
|
end
|
8
11
|
|
@@ -1,8 +1,12 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_helper'
|
2
4
|
|
3
5
|
class TestServiceStatus < MiniTest::Test
|
4
6
|
def setup
|
5
|
-
node =
|
7
|
+
node =
|
8
|
+
load_fixture('service_status').xpath('//xmlns:GetServiceStatusResult')
|
9
|
+
.first
|
6
10
|
@status = ServiceStatus.new(node)
|
7
11
|
end
|
8
12
|
|
@@ -1,8 +1,10 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_helper'
|
2
4
|
|
3
5
|
class TestShippingAddress < MiniTest::Test
|
4
6
|
def setup
|
5
|
-
node =
|
7
|
+
node = load_fixture('orders').xpath('//xmlns:ShippingAddress').first
|
6
8
|
@address = ShippingAddress.new(node)
|
7
9
|
end
|
8
10
|
|
@@ -1,19 +1,21 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_helper'
|
2
4
|
|
3
5
|
class TestTokenable < MiniTest::Test
|
4
6
|
def test_parses_next_token
|
5
|
-
xml = <<-
|
7
|
+
xml = <<-XML
|
6
8
|
<NextToken xmlns="example">123</NextToken>
|
7
|
-
|
9
|
+
XML
|
8
10
|
tokenable = build_tokenable(xml)
|
9
11
|
|
10
|
-
assert_equal
|
12
|
+
assert_equal '123', tokenable.next_token
|
11
13
|
end
|
12
14
|
|
13
15
|
def test_returns_nil_if_next_token_is_not_present
|
14
|
-
xml = <<-
|
16
|
+
xml = <<-XML
|
15
17
|
<Foo xmlns="example"/>
|
16
|
-
|
18
|
+
XML
|
17
19
|
tokenable = build_tokenable(xml)
|
18
20
|
|
19
21
|
refute tokenable.next_token
|
data/test/test_helper.rb
CHANGED
@@ -1,16 +1,19 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'minitest/autorun'
|
4
|
+
require 'mws/orders/parser'
|
4
5
|
|
5
6
|
I18n.enforce_available_locales = false
|
6
7
|
|
7
|
-
|
8
|
-
|
8
|
+
module MiniTest
|
9
|
+
class Test
|
10
|
+
include MWS::Orders
|
9
11
|
|
10
|
-
|
11
|
-
|
12
|
-
|
12
|
+
def load_fixture(type)
|
13
|
+
file = File.expand_path("../fixtures/#{type}.xml", __FILE__)
|
14
|
+
body = File.read(file)
|
13
15
|
|
14
|
-
|
16
|
+
Nokogiri(body)
|
17
|
+
end
|
15
18
|
end
|
16
19
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mws-orders
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hakan Ensari
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: money
|
@@ -30,43 +30,85 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1.
|
33
|
+
version: '1.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1.
|
40
|
+
version: '1.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: peddler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '2.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '2.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: structure
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: '2.0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
69
|
-
|
68
|
+
version: '2.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: minitest
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rake
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rubocop
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
description:
|
70
112
|
email:
|
71
113
|
- me@hakanensari.com
|
72
114
|
executables: []
|
@@ -75,11 +117,11 @@ extra_rdoc_files: []
|
|
75
117
|
files:
|
76
118
|
- LICENSE
|
77
119
|
- README.md
|
78
|
-
- lib/mws-orders.rb
|
79
120
|
- lib/mws/orders/collection.rb
|
80
121
|
- lib/mws/orders/document.rb
|
81
122
|
- lib/mws/orders/entity.rb
|
82
123
|
- lib/mws/orders/invoice_data.rb
|
124
|
+
- lib/mws/orders/message.rb
|
83
125
|
- lib/mws/orders/order.rb
|
84
126
|
- lib/mws/orders/order_item.rb
|
85
127
|
- lib/mws/orders/order_items.rb
|
@@ -88,15 +130,14 @@ files:
|
|
88
130
|
- lib/mws/orders/payment_execution_detail.rb
|
89
131
|
- lib/mws/orders/payment_execution_detail_item.rb
|
90
132
|
- lib/mws/orders/service_status.rb
|
91
|
-
- lib/mws/orders/service_status_message.rb
|
92
133
|
- lib/mws/orders/shipping_address.rb
|
93
134
|
- lib/mws/orders/tokenable.rb
|
94
135
|
- lib/mws/orders/version.rb
|
95
136
|
- test/fixtures/order_items.xml
|
96
137
|
- test/fixtures/orders.xml
|
97
138
|
- test/fixtures/service_status.xml
|
98
|
-
- test/integration/test_mws_orders.rb
|
99
139
|
- test/mws/orders/test_entity.rb
|
140
|
+
- test/mws/orders/test_message.rb
|
100
141
|
- test/mws/orders/test_order.rb
|
101
142
|
- test/mws/orders/test_order_item.rb
|
102
143
|
- test/mws/orders/test_order_items.rb
|
@@ -105,11 +146,10 @@ files:
|
|
105
146
|
- test/mws/orders/test_payment_execution_detail.rb
|
106
147
|
- test/mws/orders/test_payment_execution_detail_item.rb
|
107
148
|
- test/mws/orders/test_service_status.rb
|
108
|
-
- test/mws/orders/test_service_status_message.rb
|
109
149
|
- test/mws/orders/test_shipping_address.rb
|
110
150
|
- test/mws/orders/test_tokenable.rb
|
111
151
|
- test/test_helper.rb
|
112
|
-
homepage:
|
152
|
+
homepage: https://github.com/hakanensari/mws-orders
|
113
153
|
licenses:
|
114
154
|
- MIT
|
115
155
|
metadata: {}
|
@@ -121,34 +161,31 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
121
161
|
requirements:
|
122
162
|
- - ">="
|
123
163
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
164
|
+
version: '2.4'
|
125
165
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
166
|
requirements:
|
127
167
|
- - ">="
|
128
168
|
- !ruby/object:Gem::Version
|
129
169
|
version: '0'
|
130
170
|
requirements: []
|
131
|
-
|
132
|
-
rubygems_version: 2.4.5
|
171
|
+
rubygems_version: 3.0.3
|
133
172
|
signing_key:
|
134
173
|
specification_version: 4
|
135
|
-
summary:
|
174
|
+
summary: A Ruby wrapper for the Amazon MWS Orders API
|
136
175
|
test_files:
|
137
|
-
- test/fixtures/order_items.xml
|
138
|
-
- test/fixtures/orders.xml
|
139
|
-
- test/fixtures/service_status.xml
|
140
|
-
- test/integration/test_mws_orders.rb
|
141
|
-
- test/mws/orders/test_entity.rb
|
142
|
-
- test/mws/orders/test_order.rb
|
143
|
-
- test/mws/orders/test_order_item.rb
|
144
|
-
- test/mws/orders/test_order_items.rb
|
145
176
|
- test/mws/orders/test_orders.rb
|
146
|
-
- test/mws/orders/
|
147
|
-
- test/mws/orders/test_payment_execution_detail.rb
|
148
|
-
- test/mws/orders/test_payment_execution_detail_item.rb
|
177
|
+
- test/mws/orders/test_order.rb
|
149
178
|
- test/mws/orders/test_service_status.rb
|
150
|
-
- test/mws/orders/test_service_status_message.rb
|
151
179
|
- test/mws/orders/test_shipping_address.rb
|
152
180
|
- test/mws/orders/test_tokenable.rb
|
181
|
+
- test/mws/orders/test_message.rb
|
182
|
+
- test/mws/orders/test_payment_execution_detail_item.rb
|
183
|
+
- test/mws/orders/test_order_items.rb
|
184
|
+
- test/mws/orders/test_entity.rb
|
185
|
+
- test/mws/orders/test_payment_execution_detail.rb
|
186
|
+
- test/mws/orders/test_parser.rb
|
187
|
+
- test/mws/orders/test_order_item.rb
|
188
|
+
- test/fixtures/order_items.xml
|
189
|
+
- test/fixtures/service_status.xml
|
190
|
+
- test/fixtures/orders.xml
|
153
191
|
- test/test_helper.rb
|
154
|
-
has_rdoc:
|
data/lib/mws-orders.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
require "test_helper"
|
2
|
-
|
3
|
-
class TestMWSOrders < MiniTest::Test
|
4
|
-
def setup
|
5
|
-
skip unless ENV['AWS_ACCESS_KEY_ID']
|
6
|
-
@client = MWS.orders
|
7
|
-
end
|
8
|
-
|
9
|
-
def test_gets_service_status
|
10
|
-
assert_kind_of ServiceStatus, @client.get_service_status
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_lists_orders_and_their_items
|
14
|
-
orders = @client.list_orders(created_after: one_year_ago)
|
15
|
-
refute_empty orders
|
16
|
-
amazon_order_id = orders.to_a.sample.amazon_order_id
|
17
|
-
assert_kind_of MWS::Orders::Order, @client.get_order(amazon_order_id)
|
18
|
-
order_items = @client.list_order_items(amazon_order_id)
|
19
|
-
refute_empty order_items
|
20
|
-
end
|
21
|
-
|
22
|
-
private
|
23
|
-
|
24
|
-
def one_year_ago
|
25
|
-
Date.today - 365
|
26
|
-
end
|
27
|
-
end
|