peddler 0.12.5 → 0.12.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -5
  3. data/lib/mws/fulfillment_inbound_shipment/client.rb +1 -0
  4. data/lib/mws/subscriptions/client.rb +1 -1
  5. data/lib/peddler/client.rb +2 -2
  6. data/lib/peddler/flat_file_response.rb +53 -0
  7. data/lib/peddler/operation.rb +4 -4
  8. data/lib/peddler/response.rb +24 -0
  9. data/lib/peddler/version.rb +1 -1
  10. data/lib/peddler/xml_response.rb +30 -0
  11. data/test/helper.rb +74 -0
  12. data/test/integration/test_cart_information.rb +1 -1
  13. data/test/integration/test_customer_information.rb +1 -1
  14. data/test/integration/test_feeds.rb +1 -1
  15. data/test/integration/test_fulfillment_inbound_shipment.rb +1 -1
  16. data/test/integration/test_fulfillment_inventory.rb +1 -1
  17. data/test/integration/test_fulfillment_outbound_shipment.rb +1 -1
  18. data/test/integration/test_off_amazon_payments.rb +1 -1
  19. data/test/integration/test_orders.rb +1 -1
  20. data/test/integration/test_products.rb +1 -1
  21. data/test/integration/test_recommendations.rb +1 -1
  22. data/test/integration/test_reports.rb +1 -1
  23. data/test/integration/test_sellers.rb +1 -1
  24. data/test/integration/test_subscriptions.rb +1 -1
  25. data/test/integration/test_webstore.rb +1 -1
  26. data/test/unit/mws/test_cart_information_client.rb +2 -2
  27. data/test/unit/mws/test_customer_information_client.rb +2 -2
  28. data/test/unit/mws/test_feeds_client.rb +2 -2
  29. data/test/unit/mws/test_fulfillment_inbound_shipment_client.rb +12 -4
  30. data/test/unit/mws/test_fulfillment_inventory_client.rb +2 -2
  31. data/test/unit/mws/test_fulfillment_outbound_shipment_client.rb +2 -2
  32. data/test/unit/mws/test_off_amazon_payments_client.rb +1 -1
  33. data/test/unit/mws/test_orders_client.rb +2 -2
  34. data/test/unit/mws/test_products_client.rb +156 -7
  35. data/test/unit/mws/test_recommendations_client.rb +2 -2
  36. data/test/unit/mws/test_reports_client.rb +187 -4
  37. data/test/unit/mws/test_sellers_client.rb +2 -2
  38. data/test/unit/mws/test_subscriptions_client.rb +291 -4
  39. data/test/unit/mws/test_webstore_client.rb +83 -4
  40. data/test/unit/peddler/test_client.rb +1 -1
  41. data/test/unit/peddler/test_flat_file_parser.rb +1 -1
  42. data/test/unit/peddler/test_marketplace.rb +1 -1
  43. data/test/unit/peddler/test_operation.rb +8 -1
  44. data/test/unit/peddler/test_parser.rb +1 -1
  45. data/test/unit/peddler/test_structured_list.rb +1 -1
  46. data/test/unit/peddler/test_xml_parser.rb +1 -1
  47. data/test/unit/test_mws.rb +2 -2
  48. metadata +7 -6
  49. data/test/integration_test_helper.rb +0 -48
  50. data/test/test_helper.rb +0 -7
@@ -1,7 +1,7 @@
1
- require 'test_helper'
1
+ require 'helper'
2
2
  require 'mws/recommendations/client'
3
3
 
4
- class TestRecommendationsClient < MiniTest::Test
4
+ class TestMWSRecommendationsClient < MiniTest::Test
5
5
  def setup
6
6
  @client = MWS::Recommendations::Client.new
7
7
  end
@@ -1,11 +1,196 @@
1
- require 'test_helper'
1
+ require 'helper'
2
2
  require 'mws/reports/client'
3
3
 
4
- class TestReportsClient < MiniTest::Test
4
+ class TestMWSReportsClient < MiniTest::Test
5
5
  def setup
6
6
  @client = MWS::Reports::Client.new
7
7
  end
8
8
 
9
+ def test_requests_report
10
+ operation = {
11
+ 'Action' => 'RequestReport',
12
+ 'ReportType' => 'foo',
13
+ 'MarketplaceIdList.Id.1' => '1'
14
+ }
15
+
16
+ @client.stub(:run, nil) do
17
+ @client.request_report('foo', marketplace_id_list: ['1'])
18
+ end
19
+
20
+ assert_equal operation, @client.operation
21
+ end
22
+
23
+ def test_gets_report_request_list
24
+ operation = {
25
+ 'Action' => 'GetReportRequestList',
26
+ 'ReportRequestIdList.Id.1' => '1',
27
+ 'ReportTypeList.Type.1' => '2',
28
+ 'ReportProcessingStatusList.Status.1' => '3'
29
+ }
30
+
31
+ @client.stub(:run, nil) do
32
+ @client.get_report_request_list(
33
+ report_request_id_list: '1',
34
+ report_type_list: '2',
35
+ report_processing_status_list: '3'
36
+ )
37
+ end
38
+
39
+ assert_equal operation, @client.operation
40
+ end
41
+
42
+ def test_gets_report_request_list_by_next_token
43
+ operation = {
44
+ 'Action' => 'GetReportRequestListByNextToken',
45
+ 'NextToken' => '1'
46
+ }
47
+
48
+ @client.stub(:run, nil) do
49
+ @client.get_report_request_list_by_next_token('1')
50
+ end
51
+
52
+ assert_equal operation, @client.operation
53
+ end
54
+
55
+ def test_gets_report_request_count
56
+ operation = {
57
+ 'Action' => 'GetReportRequestCount',
58
+ 'ReportTypeList.Type.1' => '1',
59
+ 'ReportProcessingStatusList.Status.1' => '2'
60
+ }
61
+
62
+ @client.stub(:run, nil) do
63
+ @client.get_report_request_count(
64
+ report_type_list: '1',
65
+ report_processing_status_list: '2'
66
+ )
67
+ end
68
+
69
+ assert_equal operation, @client.operation
70
+ end
71
+
72
+ def test_cancels_report_requests
73
+ operation = {
74
+ 'Action' => 'CancelReportRequests',
75
+ 'ReportTypeList.Type.1' => '1',
76
+ 'ReportProcessingStatusList.Status.1' => '2'
77
+ }
78
+
79
+ @client.stub(:run, nil) do
80
+ @client.cancel_report_requests(
81
+ report_type_list: '1',
82
+ report_processing_status_list: '2'
83
+ )
84
+ end
85
+
86
+ assert_equal operation, @client.operation
87
+ end
88
+
89
+ def test_gets_report_list
90
+ operation = {
91
+ 'Action' => 'GetReportList',
92
+ 'ReportTypeList.Type.1' => '1',
93
+ 'ReportRequestIdList.Id.1' => '2'
94
+ }
95
+
96
+ @client.stub(:run, nil) do
97
+ @client.get_report_list(
98
+ report_type_list: '1',
99
+ report_request_id_list: '2'
100
+ )
101
+ end
102
+
103
+ assert_equal operation, @client.operation
104
+ end
105
+
106
+ def test_gets_report_list_by_next_token
107
+ operation = {
108
+ 'Action' => 'GetReportListByNextToken',
109
+ 'NextToken' => '1'
110
+ }
111
+
112
+ @client.stub(:run, nil) do
113
+ @client.get_report_list_by_next_token('1')
114
+ end
115
+
116
+ assert_equal operation, @client.operation
117
+ end
118
+
119
+ def test_gets_report_count
120
+ operation = {
121
+ 'Action' => 'GetReportCount',
122
+ 'ReportTypeList.Type.1' => '1'
123
+ }
124
+
125
+ @client.stub(:run, nil) do
126
+ @client.get_report_count(
127
+ report_type_list: '1'
128
+ )
129
+ end
130
+
131
+ assert_equal operation, @client.operation
132
+ end
133
+
134
+ def test_gets_report
135
+ operation = {
136
+ 'Action' => 'GetReport',
137
+ 'ReportId' => '1'
138
+ }
139
+
140
+ @client.stub(:run, nil) do
141
+ @client.get_report('1')
142
+ end
143
+
144
+ assert_equal operation, @client.operation
145
+ end
146
+
147
+ def test_manages_report_schedule
148
+ operation = {
149
+ 'Action' => 'ManageReportSchedule',
150
+ 'ReportType' => '1',
151
+ 'Schedule' => '2'
152
+ }
153
+
154
+ @client.stub(:run, nil) do
155
+ @client.manage_report_schedule('1', '2')
156
+ end
157
+
158
+ assert_equal operation, @client.operation
159
+ end
160
+
161
+ def test_gets_report_schedule_list
162
+ operation = {
163
+ 'Action' => 'GetReportScheduleList',
164
+ 'ReportTypeList.Type.1' => '1',
165
+ 'ReportTypeList.Type.2' => '2'
166
+ }
167
+
168
+ @client.stub(:run, nil) do
169
+ @client.get_report_schedule_list('1', '2')
170
+ end
171
+
172
+ assert_equal operation, @client.operation
173
+ end
174
+
175
+ def test_gets_report_schedule_list_by_next_token
176
+ assert_raises(NotImplementedError) do
177
+ @client.get_report_schedule_list_by_next_token
178
+ end
179
+ end
180
+
181
+ def test_gets_report_schedule_count
182
+ operation = {
183
+ 'Action' => 'GetReportScheduleCount',
184
+ 'ReportTypeList.Type.1' => '1'
185
+ }
186
+
187
+ @client.stub(:run, nil) do
188
+ @client.get_report_schedule_count('1')
189
+ end
190
+
191
+ assert_equal operation, @client.operation
192
+ end
193
+
9
194
  def test_updates_report_acknowledgements
10
195
  operation = {
11
196
  'Action' => 'UpdateReportAcknowledgements',
@@ -19,6 +204,4 @@ class TestReportsClient < MiniTest::Test
19
204
 
20
205
  assert_equal operation, @client.operation
21
206
  end
22
-
23
- # FIXME Fill in tests for operations
24
207
  end
@@ -1,7 +1,7 @@
1
- require 'test_helper'
1
+ require 'helper'
2
2
  require 'mws/sellers/client'
3
3
 
4
- class TestSellersClient < MiniTest::Test
4
+ class TestMWSSellersClient < MiniTest::Test
5
5
  def setup
6
6
  @client = MWS::Sellers::Client.new
7
7
  end
@@ -1,9 +1,298 @@
1
- require 'test_helper'
1
+ require 'helper'
2
2
  require 'mws/subscriptions/client'
3
3
 
4
- class TestSubscriptionsClient < MiniTest::Test
4
+ class TestMWSSubscriptionsClient < MiniTest::Test
5
5
  def setup
6
6
  @client = MWS::Subscriptions::Client.new
7
+ @client.marketplace_id = '123'
8
+ end
9
+
10
+ def test_registers_destination
11
+ operation = {
12
+ 'Action' => 'RegisterDestination',
13
+ 'MarketplaceId' => '123',
14
+ 'Destination.DeliveryChannel' => 'SQS',
15
+ 'Destination.AttributeList.member.1.Key' => 'sqsQueueUrl',
16
+ 'Destination.AttributeList.member.1.Value' => 'foo'
17
+ }
18
+
19
+ @client.stub(:run, nil) do
20
+ @client.register_destination('foo')
21
+ end
22
+
23
+ assert_equal operation, @client.operation
24
+ end
25
+
26
+ def test_registers_destination_with_alternate_marketplace
27
+ operation = {
28
+ 'Action' => 'RegisterDestination',
29
+ 'MarketplaceId' => '321',
30
+ 'Destination.DeliveryChannel' => 'SQS',
31
+ 'Destination.AttributeList.member.1.Key' => 'sqsQueueUrl',
32
+ 'Destination.AttributeList.member.1.Value' => 'foo'
33
+ }
34
+
35
+ @client.stub(:run, nil) do
36
+ @client.register_destination('foo', '321')
37
+ end
38
+
39
+ assert_equal operation, @client.operation
40
+ end
41
+
42
+ def test_deregisters_destination
43
+ operation = {
44
+ 'Action' => 'DeregisterDestination',
45
+ 'MarketplaceId' => '123',
46
+ 'Destination.DeliveryChannel' => 'SQS',
47
+ 'Destination.AttributeList.member.1.Key' => 'sqsQueueUrl',
48
+ 'Destination.AttributeList.member.1.Value' => 'foo'
49
+ }
50
+
51
+ @client.stub(:run, nil) do
52
+ @client.deregister_destination('foo')
53
+ end
54
+
55
+ assert_equal operation, @client.operation
56
+ end
57
+
58
+ def test_deregisters_destination_with_alternate_marketplace
59
+ operation = {
60
+ 'Action' => 'DeregisterDestination',
61
+ 'MarketplaceId' => '321',
62
+ 'Destination.DeliveryChannel' => 'SQS',
63
+ 'Destination.AttributeList.member.1.Key' => 'sqsQueueUrl',
64
+ 'Destination.AttributeList.member.1.Value' => 'foo'
65
+ }
66
+
67
+ @client.stub(:run, nil) do
68
+ @client.deregister_destination('foo', '321')
69
+ end
70
+
71
+ assert_equal operation, @client.operation
72
+ end
73
+
74
+ def test_lists_registered_destinations
75
+ operation = {
76
+ 'Action' => 'ListRegisteredDestinations',
77
+ 'MarketplaceId' => '123'
78
+ }
79
+
80
+ @client.stub(:run, nil) do
81
+ @client.list_registered_destinations
82
+ end
83
+
84
+ assert_equal operation, @client.operation
85
+ end
86
+
87
+ def test_lists_registered_destinations_with_alternate_marketplace
88
+ operation = {
89
+ 'Action' => 'ListRegisteredDestinations',
90
+ 'MarketplaceId' => '321'
91
+ }
92
+
93
+ @client.stub(:run, nil) do
94
+ @client.list_registered_destinations('321')
95
+ end
96
+
97
+ assert_equal operation, @client.operation
98
+ end
99
+
100
+ def test_sends_test_notification_to_destination
101
+ operation = {
102
+ 'Action' => 'SendTestNotificationToDestination',
103
+ 'MarketplaceId' => '123',
104
+ 'Destination.DeliveryChannel' => 'SQS',
105
+ 'Destination.AttributeList.member.1.Key' => 'sqsQueueUrl',
106
+ 'Destination.AttributeList.member.1.Value' => 'foo'
107
+ }
108
+
109
+ @client.stub(:run, nil) do
110
+ @client.send_test_notification_to_destination('foo')
111
+ end
112
+
113
+ assert_equal operation, @client.operation
114
+ end
115
+
116
+ def test_send_test_notification_to_destination_with_alternate_marketplace
117
+ operation = {
118
+ 'Action' => 'SendTestNotificationToDestination',
119
+ 'MarketplaceId' => '321',
120
+ 'Destination.DeliveryChannel' => 'SQS',
121
+ 'Destination.AttributeList.member.1.Key' => 'sqsQueueUrl',
122
+ 'Destination.AttributeList.member.1.Value' => 'foo'
123
+ }
124
+
125
+ @client.stub(:run, nil) do
126
+ @client.send_test_notification_to_destination('foo', '321')
127
+ end
128
+
129
+ assert_equal operation, @client.operation
130
+ end
131
+
132
+ def test_creates_subscription
133
+ operation = {
134
+ 'Action' => 'CreateSubscription',
135
+ 'MarketplaceId' => '123',
136
+ 'Subscription.IsEnabled'=>true,
137
+ 'Subscription.NotificationType' => 'foo',
138
+ 'Subscription.Destination.DeliveryChannel' => 'SQS',
139
+ 'Subscription.Destination.AttributeList.member.1.Key' => 'sqsQueueUrl',
140
+ 'Subscription.Destination.AttributeList.member.1.Value' => 'bar'
141
+ }
142
+
143
+ @client.stub(:run, nil) do
144
+ @client.create_subscription('foo', 'bar')
145
+ end
146
+
147
+ assert_equal operation, @client.operation
148
+ end
149
+
150
+ def test_creates_subscription_with_alternate_marketplace
151
+ operation = {
152
+ 'Action' => 'CreateSubscription',
153
+ 'MarketplaceId' => '321',
154
+ 'Subscription.IsEnabled'=>true,
155
+ 'Subscription.NotificationType' => 'foo',
156
+ 'Subscription.Destination.DeliveryChannel' => 'SQS',
157
+ 'Subscription.Destination.AttributeList.member.1.Key' => 'sqsQueueUrl',
158
+ 'Subscription.Destination.AttributeList.member.1.Value' => 'bar'
159
+ }
160
+
161
+ @client.stub(:run, nil) do
162
+ @client.create_subscription('foo', 'bar', '321')
163
+ end
164
+
165
+ assert_equal operation, @client.operation
166
+ end
167
+
168
+ def test_gets_subscription
169
+ operation = {
170
+ 'Action' => 'GetSubscription',
171
+ 'MarketplaceId' => '123',
172
+ 'NotificationType' => 'foo',
173
+ 'Destination.DeliveryChannel' => 'SQS',
174
+ 'Destination.AttributeList.member.1.Key' => 'sqsQueueUrl',
175
+ 'Destination.AttributeList.member.1.Value' => 'bar'
176
+ }
177
+
178
+ @client.stub(:run, nil) do
179
+ @client.get_subscription('foo', 'bar')
180
+ end
181
+
182
+ assert_equal operation, @client.operation
183
+ end
184
+
185
+ def test_gets_subscription_with_alternate_marketplace
186
+ operation = {
187
+ 'Action' => 'GetSubscription',
188
+ 'MarketplaceId' => '321',
189
+ 'NotificationType' => 'foo',
190
+ 'Destination.DeliveryChannel' => 'SQS',
191
+ 'Destination.AttributeList.member.1.Key' => 'sqsQueueUrl',
192
+ 'Destination.AttributeList.member.1.Value' => 'bar'
193
+ }
194
+
195
+ @client.stub(:run, nil) do
196
+ @client.get_subscription('foo', 'bar', '321')
197
+ end
198
+
199
+ assert_equal operation, @client.operation
200
+ end
201
+
202
+ def test_deletes_subscription
203
+ operation = {
204
+ 'Action' => 'DeleteSubscription',
205
+ 'MarketplaceId' => '123',
206
+ 'NotificationType' => 'foo',
207
+ 'Destination.DeliveryChannel' => 'SQS',
208
+ 'Destination.AttributeList.member.1.Key' => 'sqsQueueUrl',
209
+ 'Destination.AttributeList.member.1.Value' => 'bar'
210
+ }
211
+
212
+ @client.stub(:run, nil) do
213
+ @client.delete_subscription('foo', 'bar')
214
+ end
215
+
216
+ assert_equal operation, @client.operation
217
+ end
218
+
219
+ def test_deletes_subscription_with_alternate_marketplace
220
+ operation = {
221
+ 'Action' => 'DeleteSubscription',
222
+ 'MarketplaceId' => '321',
223
+ 'NotificationType' => 'foo',
224
+ 'Destination.DeliveryChannel' => 'SQS',
225
+ 'Destination.AttributeList.member.1.Key' => 'sqsQueueUrl',
226
+ 'Destination.AttributeList.member.1.Value' => 'bar'
227
+ }
228
+
229
+ @client.stub(:run, nil) do
230
+ @client.delete_subscription('foo', 'bar', '321')
231
+ end
232
+
233
+ assert_equal operation, @client.operation
234
+ end
235
+
236
+ def test_lists_subscriptions
237
+ operation = {
238
+ 'Action' => 'ListSubscriptions',
239
+ 'MarketplaceId' => '123'
240
+ }
241
+
242
+ @client.stub(:run, nil) do
243
+ @client.list_subscriptions
244
+ end
245
+
246
+ assert_equal operation, @client.operation
247
+ end
248
+
249
+ def test_lists_subscriptions_with_alternate_marketplace
250
+ operation = {
251
+ 'Action' => 'ListSubscriptions',
252
+ 'MarketplaceId' => '321'
253
+ }
254
+
255
+ @client.stub(:run, nil) do
256
+ @client.list_subscriptions('321')
257
+ end
258
+
259
+ assert_equal operation, @client.operation
260
+ end
261
+
262
+ def test_updates_subscription
263
+ operation = {
264
+ 'Action' => 'UpdateSubscription',
265
+ 'MarketplaceId' => '123',
266
+ 'Subscription.IsEnabled' => true,
267
+ 'Subscription.NotificationType' => 'foo',
268
+ 'Subscription.Destination.DeliveryChannel' => 'SQS',
269
+ 'Subscription.Destination.AttributeList.member.1.Key' => 'sqsQueueUrl',
270
+ 'Subscription.Destination.AttributeList.member.1.Value' => 'bar'
271
+ }
272
+
273
+ @client.stub(:run, nil) do
274
+ @client.update_subscription('foo', 'bar', true)
275
+ end
276
+
277
+ assert_equal operation, @client.operation
278
+ end
279
+
280
+ def test_updates_subscription_with_alternate_marketplace
281
+ operation = {
282
+ 'Action' => 'UpdateSubscription',
283
+ 'MarketplaceId' => '321',
284
+ 'Subscription.IsEnabled' => true,
285
+ 'Subscription.NotificationType' => 'foo',
286
+ 'Subscription.Destination.DeliveryChannel' => 'SQS',
287
+ 'Subscription.Destination.AttributeList.member.1.Key' => 'sqsQueueUrl',
288
+ 'Subscription.Destination.AttributeList.member.1.Value' => 'bar'
289
+ }
290
+
291
+ @client.stub(:run, nil) do
292
+ @client.update_subscription('foo', 'bar', true, '321')
293
+ end
294
+
295
+ assert_equal operation, @client.operation
7
296
  end
8
297
 
9
298
  def test_gets_service_status
@@ -17,6 +306,4 @@ class TestSubscriptionsClient < MiniTest::Test
17
306
 
18
307
  assert_equal operation, @client.operation
19
308
  end
20
-
21
- # FIXME Fill in tests for operations
22
309
  end
@@ -1,11 +1,92 @@
1
- require 'test_helper'
1
+ require 'helper'
2
2
  require 'mws/webstore/client'
3
3
 
4
- class TestWebstoreClient < MiniTest::Test
4
+ class TestMWSWebstoreClient < MiniTest::Test
5
5
  def setup
6
6
  @client = MWS::Webstore::Client.new
7
7
  end
8
8
 
9
+ def test_lists_subscriptions_count
10
+ @client.marketplace_id = '123'
11
+ operation = {
12
+ 'Action' => 'ListSubscriptionsCount',
13
+ 'MarketplaceId' => '123',
14
+ 'SubscriptionState' => '1',
15
+ 'SellerSKUList.SellerSKU.1' => '1'
16
+ }
17
+
18
+ @client.stub(:run, nil) do
19
+ @client.list_subscriptions_count('1', seller_sku_list: ['1'])
20
+ end
21
+
22
+ assert_equal operation, @client.operation
23
+ end
24
+
25
+ def test_lists_subscriptions_count_with_alternate_marketplace
26
+ operation = {
27
+ 'Action' => 'ListSubscriptionsCount',
28
+ 'MarketplaceId' => '321',
29
+ 'SubscriptionState' => '1',
30
+ 'SellerSKUList.SellerSKU.1' => '1'
31
+ }
32
+
33
+ @client.stub(:run, nil) do
34
+ @client.list_subscriptions_count(
35
+ '1',
36
+ seller_sku_list: ['1'],
37
+ marketplace_id: '321'
38
+ )
39
+ end
40
+
41
+ assert_equal operation, @client.operation
42
+ end
43
+
44
+ def test_lists_subscriptions_count_by_next_token
45
+ operation = {
46
+ 'Action' => 'ListSubscriptionsCountByNextToken',
47
+ 'NextToken' => '1'
48
+ }
49
+
50
+ @client.stub(:run, nil) do
51
+ @client.list_subscriptions_count_by_next_token('1')
52
+ end
53
+
54
+ assert_equal operation, @client.operation
55
+ end
56
+
57
+ def test_get_subscriptions_details
58
+ @client.marketplace_id = '123'
59
+ operation = {
60
+ 'Action' => 'GetSubscriptionDetails',
61
+ 'MarketplaceId' => '123',
62
+ 'SellerSKU' => '1',
63
+ 'SubscriptionState' => '2',
64
+ 'DateRangeStart' => '3'
65
+ }
66
+
67
+ @client.stub(:run, nil) do
68
+ @client.get_subscription_details('1', '2', '3')
69
+ end
70
+
71
+ assert_equal operation, @client.operation
72
+ end
73
+
74
+ def test_get_subscriptions_details_with_alternate_marketplace
75
+ operation = {
76
+ 'Action' => 'GetSubscriptionDetails',
77
+ 'MarketplaceId' => '321',
78
+ 'SellerSKU' => '1',
79
+ 'SubscriptionState' => '2',
80
+ 'DateRangeStart' => '3'
81
+ }
82
+
83
+ @client.stub(:run, nil) do
84
+ @client.get_subscription_details('1', '2', '3', marketplace_id: '321')
85
+ end
86
+
87
+ assert_equal operation, @client.operation
88
+ end
89
+
9
90
  def test_gets_service_status
10
91
  operation = {
11
92
  'Action' => 'GetServiceStatus'
@@ -17,6 +98,4 @@ class TestWebstoreClient < MiniTest::Test
17
98
 
18
99
  assert_equal operation, @client.operation
19
100
  end
20
-
21
- # FIXME Fill in tests for operations
22
101
  end
@@ -1,4 +1,4 @@
1
- require 'test_helper'
1
+ require 'helper'
2
2
  require 'excon'
3
3
  require 'peddler/client'
4
4
 
@@ -1,4 +1,4 @@
1
- require 'test_helper'
1
+ require 'helper'
2
2
  require 'peddler/flat_file_parser'
3
3
 
4
4
  class TestPeddlerFlatFileParser < MiniTest::Test
@@ -1,4 +1,4 @@
1
- require 'test_helper'
1
+ require 'helper'
2
2
  require 'peddler/marketplace'
3
3
 
4
4
  class TestPeddlerMarketplace < MiniTest::Test
@@ -1,4 +1,4 @@
1
- require 'test_helper'
1
+ require 'helper'
2
2
  require 'peddler/operation'
3
3
 
4
4
  class TestPeddlerOperation < MiniTest::Test
@@ -14,6 +14,13 @@ class TestPeddlerOperation < MiniTest::Test
14
14
  assert_equal 2, @operation['FooStatus.Foo.2']
15
15
  end
16
16
 
17
+ def test_converts_nested_key_to_structured_list
18
+ @operation.store('Foo.Status', [1])
19
+ @operation.structure!('Status', 'Bar')
20
+ refute @operation.has_key?('FooStatus')
21
+ assert_equal 1, @operation['Foo.Status.Bar.1']
22
+ end
23
+
17
24
  def test_store_camelizes_key
18
25
  @operation.store(:foo_bar, 'baz')
19
26
  assert @operation.has_key?('FooBar')
@@ -1,4 +1,4 @@
1
- require 'test_helper'
1
+ require 'helper'
2
2
  require 'peddler/parser'
3
3
 
4
4
  class TestPeddlerParser < MiniTest::Test
@@ -1,4 +1,4 @@
1
- require 'test_helper'
1
+ require 'helper'
2
2
  require 'peddler/structured_list'
3
3
 
4
4
  class TestPeddlerStructuredList < MiniTest::Test
@@ -1,4 +1,4 @@
1
- require 'test_helper'
1
+ require 'helper'
2
2
  require 'peddler/xml_parser'
3
3
 
4
4
  class TestPeddlerXMLParser < MiniTest::Test