channeladvisor 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (205) hide show
  1. data/.gitignore +7 -0
  2. data/.rspec +2 -0
  3. data/.travis.yml +6 -0
  4. data/.yardopts +8 -0
  5. data/Gemfile +31 -0
  6. data/Guardfile +28 -0
  7. data/LICENSE +19 -0
  8. data/README.md +40 -0
  9. data/Rakefile +69 -0
  10. data/channeladvisor.gemspec +29 -0
  11. data/lib/channeladvisor.rb +27 -0
  12. data/lib/channeladvisor/account_authorization.rb +14 -0
  13. data/lib/channeladvisor/address.rb +39 -0
  14. data/lib/channeladvisor/admin.rb +75 -0
  15. data/lib/channeladvisor/base.rb +34 -0
  16. data/lib/channeladvisor/client.rb +3 -0
  17. data/lib/channeladvisor/configuration.rb +11 -0
  18. data/lib/channeladvisor/error.rb +30 -0
  19. data/lib/channeladvisor/line_item.rb +38 -0
  20. data/lib/channeladvisor/order.rb +179 -0
  21. data/lib/channeladvisor/order_status.rb +14 -0
  22. data/lib/channeladvisor/payment.rb +15 -0
  23. data/lib/channeladvisor/services.rb +11 -0
  24. data/lib/channeladvisor/services/admin_service.rb +47 -0
  25. data/lib/channeladvisor/services/base_service.rb +26 -0
  26. data/lib/channeladvisor/services/inventory_service.rb +90 -0
  27. data/lib/channeladvisor/services/order_service.rb +117 -0
  28. data/lib/channeladvisor/services/shipping_service.rb +164 -0
  29. data/lib/channeladvisor/shipment.rb +71 -0
  30. data/lib/channeladvisor/shopping_cart.rb +26 -0
  31. data/lib/channeladvisor/version.rb +3 -0
  32. data/spec/fixtures/requests/admin_service/get_authorization_list.xml +1 -0
  33. data/spec/fixtures/requests/admin_service/get_authorization_list_with_local_id.xml +1 -0
  34. data/spec/fixtures/requests/admin_service/ping.xml +1 -0
  35. data/spec/fixtures/requests/admin_service/request_access.xml +1 -0
  36. data/spec/fixtures/requests/inventory_service/ping.xml +1 -0
  37. data/spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/price_only.xml +1 -0
  38. data/spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/quantity_and_price.xml +1 -0
  39. data/spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/quantity_only.xml +1 -0
  40. data/spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/price_only.xml +1 -0
  41. data/spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/quantity_and_price.xml +1 -0
  42. data/spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/quantity_only.xml +1 -0
  43. data/spec/fixtures/requests/inventory_service/update_item_price.xml +1 -0
  44. data/spec/fixtures/requests/inventory_service/update_item_quantity.xml +1 -0
  45. data/spec/fixtures/requests/inventory_service/update_item_quantity_and_price.xml +1 -0
  46. data/spec/fixtures/requests/order_service/get_order_list/with_checkout_status_filter.xml +1 -0
  47. data/spec/fixtures/requests/order_service/get_order_list/with_created_from_date.xml +1 -0
  48. data/spec/fixtures/requests/order_service/get_order_list/with_created_to_date.xml +1 -0
  49. data/spec/fixtures/requests/order_service/get_order_list/with_detail_level.xml +1 -0
  50. data/spec/fixtures/requests/order_service/get_order_list/with_distribution_center_code.xml +1 -0
  51. data/spec/fixtures/requests/order_service/get_order_list/with_export_state.xml +1 -0
  52. data/spec/fixtures/requests/order_service/get_order_list/with_join_dates.xml +1 -0
  53. data/spec/fixtures/requests/order_service/get_order_list/with_one_client_order_id.xml +1 -0
  54. data/spec/fixtures/requests/order_service/get_order_list/with_one_order_id.xml +1 -0
  55. data/spec/fixtures/requests/order_service/get_order_list/with_order_state_filter.xml +1 -0
  56. data/spec/fixtures/requests/order_service/get_order_list/with_page_number_filter.xml +1 -0
  57. data/spec/fixtures/requests/order_service/get_order_list/with_page_size.xml +1 -0
  58. data/spec/fixtures/requests/order_service/get_order_list/with_payment_status_filter.xml +1 -0
  59. data/spec/fixtures/requests/order_service/get_order_list/with_refund_status_filter.xml +1 -0
  60. data/spec/fixtures/requests/order_service/get_order_list/with_shipping_status_filter.xml +1 -0
  61. data/spec/fixtures/requests/order_service/get_order_list/with_two_client_order_ids.xml +1 -0
  62. data/spec/fixtures/requests/order_service/get_order_list/with_two_order_ids.xml +1 -0
  63. data/spec/fixtures/requests/order_service/get_order_list/with_updated_from_date.xml +1 -0
  64. data/spec/fixtures/requests/order_service/get_order_list/with_updated_to_date.xml +1 -0
  65. data/spec/fixtures/requests/order_service/get_order_list/without_order_criteria.xml +1 -0
  66. data/spec/fixtures/requests/order_service/ping.xml +1 -0
  67. data/spec/fixtures/requests/order_service/set_orders_export_status/with_one_client_order_id.xml +1 -0
  68. data/spec/fixtures/requests/order_service/set_orders_export_status/with_two_client_order_ids.xml +1 -0
  69. data/spec/fixtures/requests/shipping_service/get_shipping_carrier_list.xml +1 -0
  70. data/spec/fixtures/requests/shipping_service/ping.xml +1 -0
  71. data/spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/with_one_shipment.xml +1 -0
  72. data/spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/with_two_shipments.xml +1 -0
  73. data/spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/without_carrier_code.xml +1 -0
  74. data/spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/without_class_code.xml +1 -0
  75. data/spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/without_client_order_id.xml +1 -0
  76. data/spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/without_seller_id.xml +1 -0
  77. data/spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/without_tracking_number.xml +1 -0
  78. data/spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/with_one_line_item.xml +1 -0
  79. data/spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/with_two_line_items.xml +1 -0
  80. data/spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/with_two_shipments.xml +1 -0
  81. data/spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/without_carrier_code.xml +1 -0
  82. data/spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/without_class_code.xml +1 -0
  83. data/spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/without_seller_id.xml +1 -0
  84. data/spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/without_tracking_number.xml +1 -0
  85. data/spec/fixtures/requests/shipping_service/submit_order_shipment_list/with_partial_and_full_shipments.xml +1 -0
  86. data/spec/fixtures/responses/admin/get_authorization_list/failure.yml +50 -0
  87. data/spec/fixtures/responses/admin/get_authorization_list/no_authorizations.yml +49 -0
  88. data/spec/fixtures/responses/admin/get_authorization_list/one_authorization.yml +49 -0
  89. data/spec/fixtures/responses/admin/get_authorization_list/success.yml +49 -0
  90. data/spec/fixtures/responses/admin/get_authorization_list/two_authorizations.yml +49 -0
  91. data/spec/fixtures/responses/admin/ping/failure.yml +50 -0
  92. data/spec/fixtures/responses/admin/ping/success.yml +218 -0
  93. data/spec/fixtures/responses/admin/request_access/failure.yml +50 -0
  94. data/spec/fixtures/responses/admin/request_access/success.yml +49 -0
  95. data/spec/fixtures/responses/admin_service/get_authorization_list/with_invalid_local_id.yml +219 -0
  96. data/spec/fixtures/responses/admin_service/get_authorization_list/with_local_id/success.yml +218 -0
  97. data/spec/fixtures/responses/admin_service/get_authorization_list/with_valid_local_id/multiple_authorizations.yml +49 -0
  98. data/spec/fixtures/responses/admin_service/get_authorization_list/with_valid_local_id/no_authorizations.yml +49 -0
  99. data/spec/fixtures/responses/admin_service/get_authorization_list/with_valid_local_id/one_authorization.yml +49 -0
  100. data/spec/fixtures/responses/admin_service/get_authorization_list/with_valid_local_id/success.yml +218 -0
  101. data/spec/fixtures/responses/admin_service/get_authorization_list/without_local_id/multiple_authorizations.yml +49 -0
  102. data/spec/fixtures/responses/admin_service/get_authorization_list/without_local_id/no_authorizations.yml +49 -0
  103. data/spec/fixtures/responses/admin_service/get_authorization_list/without_local_id/one_authorization.yml +49 -0
  104. data/spec/fixtures/responses/admin_service/get_authorization_list/without_local_id/success.yml +218 -0
  105. data/spec/fixtures/responses/admin_service/ping/failure.yml +222 -0
  106. data/spec/fixtures/responses/admin_service/ping/success.yml +218 -0
  107. data/spec/fixtures/responses/admin_service/request_access/failure.yml +219 -0
  108. data/spec/fixtures/responses/admin_service/request_access/success.yml +218 -0
  109. data/spec/fixtures/responses/http_error.yml +48 -0
  110. data/spec/fixtures/responses/inventory_service/ping.yml +1356 -0
  111. data/spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price.yml +1356 -0
  112. data/spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price/price_only.yml +144 -0
  113. data/spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price/quantity_and_price.yml +191 -0
  114. data/spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price/quantity_only.yml +1403 -0
  115. data/spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list.yml +243 -0
  116. data/spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/price_only.yml +97 -0
  117. data/spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/quantity_and_price.yml +144 -0
  118. data/spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/quantity_only.yml +51 -0
  119. data/spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/price_only.yml +238 -0
  120. data/spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/quantity_and_price.yml +285 -0
  121. data/spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/quantity_only.yml +191 -0
  122. data/spec/fixtures/responses/order/instance_set_export_status.yml +51 -0
  123. data/spec/fixtures/responses/order/instance_set_export_status/failure.yml +51 -0
  124. data/spec/fixtures/responses/order/instance_set_export_status/success/result_false.yml +51 -0
  125. data/spec/fixtures/responses/order/instance_set_export_status/success/result_true.yml +51 -0
  126. data/spec/fixtures/responses/order/list.yml +58 -0
  127. data/spec/fixtures/responses/order/list/failure.yml +56 -0
  128. data/spec/fixtures/responses/order/list/no_matching_orders.yml +56 -0
  129. data/spec/fixtures/responses/order/list/one_matching_order.yml +57 -0
  130. data/spec/fixtures/responses/order/list/two_matching_orders.yml +59 -0
  131. data/spec/fixtures/responses/order/list/with_criteria.yml +52 -0
  132. data/spec/fixtures/responses/order/list/with_no_criteria.yml +58 -0
  133. data/spec/fixtures/responses/order/ping.yml +868 -0
  134. data/spec/fixtures/responses/order/ping/failure.yml +50 -0
  135. data/spec/fixtures/responses/order/ping/success.yml +867 -0
  136. data/spec/fixtures/responses/order/set_export_status/failure.yml +51 -0
  137. data/spec/fixtures/responses/order/set_export_status/success/with_one_client_order_id.yml +51 -0
  138. data/spec/fixtures/responses/order/set_export_status/success/with_two_client_order_ids.yml +51 -0
  139. data/spec/fixtures/responses/order_service/get_order_list/.gitkeep +0 -0
  140. data/spec/fixtures/responses/order_service/get_order_list/with_checkout_status_filter.yml +875 -0
  141. data/spec/fixtures/responses/order_service/get_order_list/with_created_from_date.yml +874 -0
  142. data/spec/fixtures/responses/order_service/get_order_list/with_created_to_date.yml +874 -0
  143. data/spec/fixtures/responses/order_service/get_order_list/with_detail_level.yml +875 -0
  144. data/spec/fixtures/responses/order_service/get_order_list/with_distribution_center_code.yml +872 -0
  145. data/spec/fixtures/responses/order_service/get_order_list/with_export_state.yml +875 -0
  146. data/spec/fixtures/responses/order_service/get_order_list/with_join_dates.yml +869 -0
  147. data/spec/fixtures/responses/order_service/get_order_list/with_one_client_order_id.yml +872 -0
  148. data/spec/fixtures/responses/order_service/get_order_list/with_one_order_id.yml +873 -0
  149. data/spec/fixtures/responses/order_service/get_order_list/with_order_state_filter.yml +875 -0
  150. data/spec/fixtures/responses/order_service/get_order_list/with_page_number_filter.yml +875 -0
  151. data/spec/fixtures/responses/order_service/get_order_list/with_page_size.yml +874 -0
  152. data/spec/fixtures/responses/order_service/get_order_list/with_payment_status_filter.yml +875 -0
  153. data/spec/fixtures/responses/order_service/get_order_list/with_refund_status_filter.yml +875 -0
  154. data/spec/fixtures/responses/order_service/get_order_list/with_shipping_status_filter.yml +875 -0
  155. data/spec/fixtures/responses/order_service/get_order_list/with_two_client_order_ids.yml +872 -0
  156. data/spec/fixtures/responses/order_service/get_order_list/with_two_order_ids.yml +875 -0
  157. data/spec/fixtures/responses/order_service/get_order_list/with_updated_from_date.yml +874 -0
  158. data/spec/fixtures/responses/order_service/get_order_list/with_updated_to_date.yml +874 -0
  159. data/spec/fixtures/responses/order_service/get_order_list/without_order_criteria.yml +871 -0
  160. data/spec/fixtures/responses/order_service/get_order_refund_history/.gitkeep +0 -0
  161. data/spec/fixtures/responses/order_service/order_merge/.gitkeep +0 -0
  162. data/spec/fixtures/responses/order_service/order_split/.gitkeep +0 -0
  163. data/spec/fixtures/responses/order_service/ping/.gitkeep +0 -0
  164. data/spec/fixtures/responses/order_service/ping/failure.yml +871 -0
  165. data/spec/fixtures/responses/order_service/ping/success.yml +868 -0
  166. data/spec/fixtures/responses/order_service/set_orders_export_status/with_one_client_order_id.yml +867 -0
  167. data/spec/fixtures/responses/order_service/set_orders_export_status/with_two_client_order_id.yml +867 -0
  168. data/spec/fixtures/responses/order_service/set_seller_order_id/.gitkeep +0 -0
  169. data/spec/fixtures/responses/order_service/set_seller_order_item_id_list/.gitkeep +0 -0
  170. data/spec/fixtures/responses/order_service/submit_order/.gitkeep +0 -0
  171. data/spec/fixtures/responses/order_service/submit_order_refund/.gitkeep +0 -0
  172. data/spec/fixtures/responses/order_service/update_order_list/.gitkeep +0 -0
  173. data/spec/fixtures/responses/shipment/get_carriers.yml +53 -0
  174. data/spec/fixtures/responses/shipment/get_carriers/failure.yml +52 -0
  175. data/spec/fixtures/responses/shipment/submit.yml +464 -0
  176. data/spec/fixtures/responses/shipment/submit/failure.yml +462 -0
  177. data/spec/fixtures/responses/shipment/submit/one_shipment.yml +464 -0
  178. data/spec/fixtures/responses/shipment/submit/two_shipments.yml +56 -0
  179. data/spec/fixtures/responses/shipping_service/get_shipping_carrier_list.yml +953 -0
  180. data/spec/fixtures/responses/shipping_service/ping/failure.yml +55 -0
  181. data/spec/fixtures/responses/shipping_service/ping/success.yml +460 -0
  182. data/spec/fixtures/responses/shipping_service/submit_order_shipment_list.yml +55 -0
  183. data/spec/fixtures/responses/soap_fault.yml +53 -0
  184. data/spec/lib/channeladvisor/address_spec.rb +107 -0
  185. data/spec/lib/channeladvisor/admin_spec.rb +216 -0
  186. data/spec/lib/channeladvisor/line_item_spec.rb +147 -0
  187. data/spec/lib/channeladvisor/order_spec.rb +623 -0
  188. data/spec/lib/channeladvisor/order_status_spec.rb +36 -0
  189. data/spec/lib/channeladvisor/payment_spec.rb +38 -0
  190. data/spec/lib/channeladvisor/services/admin_service_spec.rb +65 -0
  191. data/spec/lib/channeladvisor/services/base_service_spec.rb +11 -0
  192. data/spec/lib/channeladvisor/services/inventory_service_spec.rb +214 -0
  193. data/spec/lib/channeladvisor/services/order_service_spec.rb +267 -0
  194. data/spec/lib/channeladvisor/services/shipping_service_spec.rb +288 -0
  195. data/spec/lib/channeladvisor/shipment_spec.rb +257 -0
  196. data/spec/lib/channeladvisor/shopping_cart_spec.rb +173 -0
  197. data/spec/lib/channeladvisor_spec.rb +18 -0
  198. data/spec/spec_helper.rb +29 -0
  199. data/spec/support/credentials.rb +15 -0
  200. data/spec/support/matchers/boolean.rb +17 -0
  201. data/spec/support/matchers/markup.rb +50 -0
  202. data/spec/support/rr.rb +38 -0
  203. data/spec/support/shared_examples.rb +4 -0
  204. data/spec/support/vcr.rb +38 -0
  205. metadata +501 -0
@@ -0,0 +1,173 @@
1
+ require 'spec_helper'
2
+
3
+ module ChannelAdvisor
4
+ describe ShoppingCart do
5
+ describe ".new" do
6
+ let(:attrs) do
7
+ {
8
+ :cart_id => "14161613",
9
+ :checkout_source => "Unspecified",
10
+ :vat_tax_calculation_option => "Unspecified",
11
+ :vat_shipping_option => "Unspecified",
12
+ :vat_gift_wrap_option => "Unspecified",
13
+ :line_item_sku_list => {
14
+ :order_line_item_item => {:line_item_id => "17293910"}
15
+ },
16
+ :line_item_invoice_list => {
17
+ :order_line_item_invoice => {:line_item_type => "SalesTax", :unit_price => "0.0000"}
18
+ },
19
+ :line_item_promo_list => {
20
+ :order_line_item_promo => {:line_item_type => "Promotion", :unit_price => "0.0000", :promo_code => nil}
21
+ }
22
+ }
23
+ end
24
+
25
+ before(:each) do
26
+ @shopping_cart = ShoppingCart.new(attrs)
27
+ end
28
+
29
+ it "sets @id" do
30
+ @shopping_cart.id.should == attrs[:cart_id]
31
+ end
32
+
33
+ it "sets @checkout_source" do
34
+ @shopping_cart.checkout_source.should == attrs[:checkout_source]
35
+ end
36
+
37
+ it "sets @vat_tax_calculation_option" do
38
+ @shopping_cart.vat_tax_calculation_option.should == attrs[:vat_tax_calculation_option]
39
+ end
40
+
41
+ it "sets @vat_shipping_option" do
42
+ @shopping_cart.vat_shipping_option.should == attrs[:vat_shipping_option]
43
+ end
44
+
45
+ it "sets @vat_gift_wrap_option" do
46
+ @shopping_cart.vat_gift_wrap_option.should == attrs[:vat_gift_wrap_option]
47
+ end
48
+
49
+ context "with one item" do
50
+ before(:each) do
51
+ stub.proxy(LineItem).new
52
+ @shopping_cart = ShoppingCart.new(attrs)
53
+ end
54
+
55
+ it "creates a @line_items collection with one line item" do
56
+ @shopping_cart.items.should have(1).item
57
+ @shopping_cart.items.first.should be_a LineItem
58
+ end
59
+
60
+ it "creates a new line item object for the line item in the attribute hash" do
61
+ item = attrs[:line_item_sku_list][:order_line_item_item]
62
+ LineItem.should have_received.new(item)
63
+ end
64
+ end
65
+
66
+ context "with two items" do
67
+ before(:each) do
68
+ @items = attrs[:line_item_sku_list][:order_line_item_item] = [
69
+ {:line_item_id => "17293910"},
70
+ {:line_item_id => "17293911"}
71
+ ]
72
+ stub.proxy(LineItem).new
73
+ @shopping_cart = ShoppingCart.new(attrs)
74
+ end
75
+
76
+ it "creates a @line_items collection with two line items" do
77
+ @shopping_cart.items.should have(2).line_items
78
+ @shopping_cart.items.each do |item|
79
+ item.should be_a LineItem
80
+ end
81
+ end
82
+
83
+ it "creates a new line item object for each line item in the attribute hash" do
84
+ @items.each do |item|
85
+ LineItem.should have_received.new(item)
86
+ end
87
+ end
88
+ end
89
+
90
+ context "with one invoice line item" do
91
+ before(:each) do
92
+ stub.proxy(LineItem).new
93
+ @shopping_cart = ShoppingCart.new(attrs)
94
+ end
95
+
96
+ it "creates a @line_items collection with one line item" do
97
+ @shopping_cart.invoices.should have(1).invoice
98
+ @shopping_cart.invoices.first.should be_a LineItem
99
+ end
100
+
101
+ it "creates a new line item object for the line item in the attribute hash" do
102
+ invoice = attrs[:line_item_invoice_list][:order_line_item_invoice]
103
+ LineItem.should have_received.new(invoice)
104
+ end
105
+ end
106
+
107
+ context "with two invoice line items" do
108
+ before(:each) do
109
+ @invoices = attrs[:line_item_invoice_list][:order_line_item_invoice] = [
110
+ {:line_item_type => "SalesTax", :unit_price => "0.0000"},
111
+ {:line_item_type => "Shipping", :unit_price => "0.0000"}
112
+ ]
113
+ stub.proxy(LineItem).new
114
+ @shopping_cart = ShoppingCart.new(attrs)
115
+ end
116
+
117
+ it "creates a @line_items collection with two line items" do
118
+ @shopping_cart.invoices.should have(2).invoices
119
+ @shopping_cart.invoices.each do |invoice|
120
+ invoice.should be_a LineItem
121
+ end
122
+ end
123
+
124
+ it "creates a new line item object for each line item in the attribute hash" do
125
+ @invoices.each do |invoice|
126
+ LineItem.should have_received.new(invoice)
127
+ end
128
+ end
129
+ end
130
+
131
+ context "with one promo line item" do
132
+ before(:each) do
133
+ stub.proxy(LineItem).new
134
+ @shopping_cart = ShoppingCart.new(attrs)
135
+ end
136
+
137
+ it "creates a @line_items collection with one line item" do
138
+ @shopping_cart.promos.should have(1).promo
139
+ @shopping_cart.promos.first.should be_a LineItem
140
+ end
141
+
142
+ it "creates a new line item object for the line item in the attribute hash" do
143
+ promo = attrs[:line_item_promo_list][:order_line_item_promo]
144
+ LineItem.should have_received.new(promo)
145
+ end
146
+ end
147
+
148
+ context "with two promo line items" do
149
+ before(:each) do
150
+ @promos = attrs[:line_item_promo_list][:order_line_item_promo] = [
151
+ {:line_item_type => "Promotion", :unit_price => "0.0000", :promo_code => nil},
152
+ {:line_item_type => "AdditionalCostOrDiscount", :unit_price => "1.9900", :promo_code => nil}
153
+ ]
154
+ stub.proxy(LineItem).new
155
+ @shopping_cart = ShoppingCart.new(attrs)
156
+ end
157
+
158
+ it "creates a @line_items collection with two line items" do
159
+ @shopping_cart.promos.should have(2).promos
160
+ @shopping_cart.promos.each do |promo|
161
+ promo.should be_a LineItem
162
+ end
163
+ end
164
+
165
+ it "creates a new line item object for each line item in the attribute hash" do
166
+ @promos.each do |promo|
167
+ LineItem.should have_received.new(promo)
168
+ end
169
+ end
170
+ end
171
+ end
172
+ end
173
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ describe ChannelAdvisor do
4
+ describe ".configuration" do
5
+ subject { ChannelAdvisor.configuration }
6
+
7
+ it { should be_an_instance_of ChannelAdvisor::Configuration }
8
+ it { should equal ChannelAdvisor.configuration }
9
+ end
10
+
11
+ describe ".configure" do
12
+ it "yields the current configuration" do
13
+ ChannelAdvisor.configure do |config|
14
+ config.should equal ChannelAdvisor.configuration
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,29 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+
4
+ begin
5
+ require 'simplecov'
6
+ SimpleCov.start do
7
+ add_filter 'spec'
8
+ end
9
+ rescue => LoadError
10
+ # not able to load 'simplecov' do nothing
11
+ end
12
+
13
+ require 'channeladvisor'
14
+ require 'fakeweb'
15
+
16
+ Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each {|f| require f}
17
+
18
+ RSpec.configure do |config|
19
+ config.mock_with :rr
20
+ config.treat_symbols_as_metadata_keys_with_true_values = true
21
+ end
22
+
23
+ Savon.config.log = false
24
+ ChannelAdvisor::Services::AdminService.client.config.log = false
25
+ ChannelAdvisor::Services::OrderService.client.config.log = false
26
+ ChannelAdvisor::Services::ShippingService.client.config.log = false
27
+ ChannelAdvisor::Services::InventoryService.client.config.log = false
28
+
29
+ HTTPI.log = false
@@ -0,0 +1,15 @@
1
+ require 'yaml'
2
+
3
+ def sensitive_data
4
+ @sensitive_data ||= YAML.load_file("#{ENV["HOME"]}/.config/channeladvisor.yml")
5
+ end
6
+
7
+ RSpec.configure do |config|
8
+ config.before(:each) do
9
+ ChannelAdvisor.configure do |c|
10
+ c.developer_key = sensitive_data["developer_key"]
11
+ c.password = sensitive_data["password"]
12
+ c.account_id = sensitive_data["account_ids"].first
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ RSpec::Matchers.define :be_a_boolean do |expected|
2
+ match do |actual|
3
+ [true, false].include? actual
4
+ end
5
+
6
+ description do |actual|
7
+ "be a boolean"
8
+ end
9
+
10
+ failure_message_for_should do |actual|
11
+ "expected #{actual} to be a boolean"
12
+ end
13
+
14
+ failure_message_for_should_not do |actual|
15
+ "expected #{actual} not to be a boolean"
16
+ end
17
+ end
@@ -0,0 +1,50 @@
1
+ RSpec::Matchers.define :match_valid_xml_body_for do |example_name|
2
+ def example_path(example_name)
3
+ service_name = described_class.name.split("::").last.gsub!(/(.)([A-Z])/, '\1_\2').downcase
4
+ request_fixture_path = File.expand_path("../../../fixtures/requests/", __FILE__)
5
+ File.join(request_fixture_path, service_name, "#{example_name}.xml")
6
+ end
7
+
8
+ def example_request(example_name)
9
+ File.read(example_path(example_name))
10
+ end
11
+
12
+ def filter_request(request)
13
+ request_body = request.body
14
+
15
+ request_body.gsub!(sensitive_data['developer_key'], "$$DEVELOPER_KEY$$")
16
+ request_body.gsub!(sensitive_data['password'], "$$PASSWORD$$")
17
+
18
+ sensitive_data['account_ids'].each do |account_id|
19
+ request_body.gsub!(account_id, "$$ACCOUNT_ID$$")
20
+ end
21
+
22
+ sensitive_data['local_ids'].each do |local_id|
23
+ request_body.gsub!(local_id.to_s, "$$LOCAL_ID$$")
24
+ end
25
+
26
+ sensitive_data['account_names'].each do |account_name|
27
+ request_body.gsub!(account_name, "$$ACCOUNT_NAME$$")
28
+ end
29
+
30
+ return request_body
31
+ end
32
+
33
+ match do |request|
34
+ filter_request(request) == example_request(example_name)
35
+ end
36
+
37
+ description do
38
+ "match the example request at: #{example_path(example_name)}"
39
+ end
40
+
41
+ failure_message_for_should do |request|
42
+ "expected request to match:\n\n#{example_request(example_name)}\n\nbut received:\n\n#{filter_request(request)}"
43
+ end
44
+
45
+ failure_message_for_should_not do |request|
46
+ "expected request not to match:\n\n#{example_request(example_name)}\n\nbut received:\n\n#{filter_request(request)}"
47
+ end
48
+
49
+ # diffable
50
+ end
@@ -0,0 +1,38 @@
1
+ require 'rr'
2
+
3
+ module RR
4
+ module Adapters
5
+ module RSpec2
6
+ include RRMethods
7
+
8
+ def setup_mocks_for_rspec
9
+ RR.reset
10
+ end
11
+
12
+ def verify_mocks_for_rspec
13
+ RR.verify
14
+ end
15
+
16
+ def teardown_mocks_for_rspec
17
+ RR.reset
18
+ end
19
+
20
+ def have_received(method = nil)
21
+ RR::Adapters::Rspec::InvocationMatcher.new(method)
22
+ end
23
+ end
24
+ end
25
+ end
26
+
27
+ module RSpec
28
+ module Core
29
+ module MockFrameworkAdapter
30
+ include RR::Adapters::RSpec2
31
+ end
32
+ end
33
+ end
34
+
35
+ RSpec.configure do |config|
36
+ config.mock_framework = RSpec::Core::MockFrameworkAdapter
37
+ config.backtrace_clean_patterns.push(RR::Errors::BACKTRACE_IDENTIFIER)
38
+ end
@@ -0,0 +1,4 @@
1
+ shared_examples "a web service call" do
2
+ its(:last_request) { should be_an HTTPI::Request }
3
+ its(:last_response) { should be_an HTTPI::Response }
4
+ end
@@ -0,0 +1,38 @@
1
+ require 'vcr'
2
+
3
+ VCR.configure do |config|
4
+ config.cassette_library_dir = File.expand_path('../../fixtures', __FILE__)
5
+ config.hook_into :fakeweb
6
+ config.configure_rspec_metadata!
7
+
8
+ config.register_request_matcher :soap_action do |recorded, current|
9
+ recorded.headers["soapaction"] == current.headers["soapaction"]
10
+ end
11
+
12
+ config.default_cassette_options = {
13
+ :record => :once,
14
+ :match_requests_on => [:method, :uri, :soap_action],
15
+ :erb => true
16
+ }
17
+
18
+ config.filter_sensitive_data("$$DEVELOPER_KEY$$") { sensitive_data['developer_key'] }
19
+ config.filter_sensitive_data("$$PASSWORD$$") { sensitive_data['password'] }
20
+
21
+ config.before_record do |interaction|
22
+ sensitive_data['account_ids'].each do |account_id|
23
+ interaction.filter!(account_id, "$$ACCOUNT_ID$$")
24
+ end
25
+
26
+ sensitive_data['local_ids'].each do |local_id|
27
+ interaction.filter!(local_id.to_s, "$$LOCAL_ID$$")
28
+ end
29
+
30
+ sensitive_data['account_names'].each do |account_name|
31
+ interaction.filter!(account_name, '$$ACCOUNT_NAME$$')
32
+ end
33
+ end
34
+ end
35
+
36
+ RSpec.configure do |config|
37
+ config.extend VCR::RSpec::Macros
38
+ end
metadata ADDED
@@ -0,0 +1,501 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: channeladvisor
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Dave Nunez
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-06-18 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: &70223898661700 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *70223898661700
25
+ - !ruby/object:Gem::Dependency
26
+ name: rspec
27
+ requirement: &70223898660600 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '2.0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70223898660600
36
+ - !ruby/object:Gem::Dependency
37
+ name: rr
38
+ requirement: &70223898675980 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: 1.0.0
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70223898675980
47
+ - !ruby/object:Gem::Dependency
48
+ name: vcr
49
+ requirement: &70223898675260 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 2.2.0
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70223898675260
58
+ - !ruby/object:Gem::Dependency
59
+ name: fakeweb
60
+ requirement: &70223898674600 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: 1.3.0
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70223898674600
69
+ - !ruby/object:Gem::Dependency
70
+ name: timecop
71
+ requirement: &70223898674040 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70223898674040
80
+ - !ruby/object:Gem::Dependency
81
+ name: savon
82
+ requirement: &70223898673220 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: 1.0.0
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: *70223898673220
91
+ description: Provides an easy-to-use interface for making requests to the ChannelAdvisor
92
+ API. Includes all methods for requesting and updating data via API version 6.
93
+ email:
94
+ - dnunez24@gmail.com
95
+ executables: []
96
+ extensions: []
97
+ extra_rdoc_files: []
98
+ files:
99
+ - .gitignore
100
+ - .rspec
101
+ - .travis.yml
102
+ - .yardopts
103
+ - Gemfile
104
+ - Guardfile
105
+ - LICENSE
106
+ - README.md
107
+ - Rakefile
108
+ - channeladvisor.gemspec
109
+ - lib/channeladvisor.rb
110
+ - lib/channeladvisor/account_authorization.rb
111
+ - lib/channeladvisor/address.rb
112
+ - lib/channeladvisor/admin.rb
113
+ - lib/channeladvisor/base.rb
114
+ - lib/channeladvisor/client.rb
115
+ - lib/channeladvisor/configuration.rb
116
+ - lib/channeladvisor/error.rb
117
+ - lib/channeladvisor/line_item.rb
118
+ - lib/channeladvisor/order.rb
119
+ - lib/channeladvisor/order_status.rb
120
+ - lib/channeladvisor/payment.rb
121
+ - lib/channeladvisor/services.rb
122
+ - lib/channeladvisor/services/admin_service.rb
123
+ - lib/channeladvisor/services/base_service.rb
124
+ - lib/channeladvisor/services/inventory_service.rb
125
+ - lib/channeladvisor/services/order_service.rb
126
+ - lib/channeladvisor/services/shipping_service.rb
127
+ - lib/channeladvisor/shipment.rb
128
+ - lib/channeladvisor/shopping_cart.rb
129
+ - lib/channeladvisor/version.rb
130
+ - spec/fixtures/requests/admin_service/get_authorization_list.xml
131
+ - spec/fixtures/requests/admin_service/get_authorization_list_with_local_id.xml
132
+ - spec/fixtures/requests/admin_service/ping.xml
133
+ - spec/fixtures/requests/admin_service/request_access.xml
134
+ - spec/fixtures/requests/inventory_service/ping.xml
135
+ - spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/price_only.xml
136
+ - spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/quantity_and_price.xml
137
+ - spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/quantity_only.xml
138
+ - spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/price_only.xml
139
+ - spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/quantity_and_price.xml
140
+ - spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/quantity_only.xml
141
+ - spec/fixtures/requests/inventory_service/update_item_price.xml
142
+ - spec/fixtures/requests/inventory_service/update_item_quantity.xml
143
+ - spec/fixtures/requests/inventory_service/update_item_quantity_and_price.xml
144
+ - spec/fixtures/requests/order_service/get_order_list/with_checkout_status_filter.xml
145
+ - spec/fixtures/requests/order_service/get_order_list/with_created_from_date.xml
146
+ - spec/fixtures/requests/order_service/get_order_list/with_created_to_date.xml
147
+ - spec/fixtures/requests/order_service/get_order_list/with_detail_level.xml
148
+ - spec/fixtures/requests/order_service/get_order_list/with_distribution_center_code.xml
149
+ - spec/fixtures/requests/order_service/get_order_list/with_export_state.xml
150
+ - spec/fixtures/requests/order_service/get_order_list/with_join_dates.xml
151
+ - spec/fixtures/requests/order_service/get_order_list/with_one_client_order_id.xml
152
+ - spec/fixtures/requests/order_service/get_order_list/with_one_order_id.xml
153
+ - spec/fixtures/requests/order_service/get_order_list/with_order_state_filter.xml
154
+ - spec/fixtures/requests/order_service/get_order_list/with_page_number_filter.xml
155
+ - spec/fixtures/requests/order_service/get_order_list/with_page_size.xml
156
+ - spec/fixtures/requests/order_service/get_order_list/with_payment_status_filter.xml
157
+ - spec/fixtures/requests/order_service/get_order_list/with_refund_status_filter.xml
158
+ - spec/fixtures/requests/order_service/get_order_list/with_shipping_status_filter.xml
159
+ - spec/fixtures/requests/order_service/get_order_list/with_two_client_order_ids.xml
160
+ - spec/fixtures/requests/order_service/get_order_list/with_two_order_ids.xml
161
+ - spec/fixtures/requests/order_service/get_order_list/with_updated_from_date.xml
162
+ - spec/fixtures/requests/order_service/get_order_list/with_updated_to_date.xml
163
+ - spec/fixtures/requests/order_service/get_order_list/without_order_criteria.xml
164
+ - spec/fixtures/requests/order_service/ping.xml
165
+ - spec/fixtures/requests/order_service/set_orders_export_status/with_one_client_order_id.xml
166
+ - spec/fixtures/requests/order_service/set_orders_export_status/with_two_client_order_ids.xml
167
+ - spec/fixtures/requests/shipping_service/get_shipping_carrier_list.xml
168
+ - spec/fixtures/requests/shipping_service/ping.xml
169
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/with_one_shipment.xml
170
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/with_two_shipments.xml
171
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/without_carrier_code.xml
172
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/without_class_code.xml
173
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/without_client_order_id.xml
174
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/without_seller_id.xml
175
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/without_tracking_number.xml
176
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/with_one_line_item.xml
177
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/with_two_line_items.xml
178
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/with_two_shipments.xml
179
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/without_carrier_code.xml
180
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/without_class_code.xml
181
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/without_seller_id.xml
182
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/without_tracking_number.xml
183
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/with_partial_and_full_shipments.xml
184
+ - spec/fixtures/responses/admin/get_authorization_list/failure.yml
185
+ - spec/fixtures/responses/admin/get_authorization_list/no_authorizations.yml
186
+ - spec/fixtures/responses/admin/get_authorization_list/one_authorization.yml
187
+ - spec/fixtures/responses/admin/get_authorization_list/success.yml
188
+ - spec/fixtures/responses/admin/get_authorization_list/two_authorizations.yml
189
+ - spec/fixtures/responses/admin/ping/failure.yml
190
+ - spec/fixtures/responses/admin/ping/success.yml
191
+ - spec/fixtures/responses/admin/request_access/failure.yml
192
+ - spec/fixtures/responses/admin/request_access/success.yml
193
+ - spec/fixtures/responses/admin_service/get_authorization_list/with_invalid_local_id.yml
194
+ - spec/fixtures/responses/admin_service/get_authorization_list/with_local_id/success.yml
195
+ - spec/fixtures/responses/admin_service/get_authorization_list/with_valid_local_id/multiple_authorizations.yml
196
+ - spec/fixtures/responses/admin_service/get_authorization_list/with_valid_local_id/no_authorizations.yml
197
+ - spec/fixtures/responses/admin_service/get_authorization_list/with_valid_local_id/one_authorization.yml
198
+ - spec/fixtures/responses/admin_service/get_authorization_list/with_valid_local_id/success.yml
199
+ - spec/fixtures/responses/admin_service/get_authorization_list/without_local_id/multiple_authorizations.yml
200
+ - spec/fixtures/responses/admin_service/get_authorization_list/without_local_id/no_authorizations.yml
201
+ - spec/fixtures/responses/admin_service/get_authorization_list/without_local_id/one_authorization.yml
202
+ - spec/fixtures/responses/admin_service/get_authorization_list/without_local_id/success.yml
203
+ - spec/fixtures/responses/admin_service/ping/failure.yml
204
+ - spec/fixtures/responses/admin_service/ping/success.yml
205
+ - spec/fixtures/responses/admin_service/request_access/failure.yml
206
+ - spec/fixtures/responses/admin_service/request_access/success.yml
207
+ - spec/fixtures/responses/http_error.yml
208
+ - spec/fixtures/responses/inventory_service/ping.yml
209
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price.yml
210
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price/price_only.yml
211
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price/quantity_and_price.yml
212
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price/quantity_only.yml
213
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list.yml
214
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/price_only.yml
215
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/quantity_and_price.yml
216
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/quantity_only.yml
217
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/price_only.yml
218
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/quantity_and_price.yml
219
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/quantity_only.yml
220
+ - spec/fixtures/responses/order/instance_set_export_status.yml
221
+ - spec/fixtures/responses/order/instance_set_export_status/failure.yml
222
+ - spec/fixtures/responses/order/instance_set_export_status/success/result_false.yml
223
+ - spec/fixtures/responses/order/instance_set_export_status/success/result_true.yml
224
+ - spec/fixtures/responses/order/list.yml
225
+ - spec/fixtures/responses/order/list/failure.yml
226
+ - spec/fixtures/responses/order/list/no_matching_orders.yml
227
+ - spec/fixtures/responses/order/list/one_matching_order.yml
228
+ - spec/fixtures/responses/order/list/two_matching_orders.yml
229
+ - spec/fixtures/responses/order/list/with_criteria.yml
230
+ - spec/fixtures/responses/order/list/with_no_criteria.yml
231
+ - spec/fixtures/responses/order/ping.yml
232
+ - spec/fixtures/responses/order/ping/failure.yml
233
+ - spec/fixtures/responses/order/ping/success.yml
234
+ - spec/fixtures/responses/order/set_export_status/failure.yml
235
+ - spec/fixtures/responses/order/set_export_status/success/with_one_client_order_id.yml
236
+ - spec/fixtures/responses/order/set_export_status/success/with_two_client_order_ids.yml
237
+ - spec/fixtures/responses/order_service/get_order_list/.gitkeep
238
+ - spec/fixtures/responses/order_service/get_order_list/with_checkout_status_filter.yml
239
+ - spec/fixtures/responses/order_service/get_order_list/with_created_from_date.yml
240
+ - spec/fixtures/responses/order_service/get_order_list/with_created_to_date.yml
241
+ - spec/fixtures/responses/order_service/get_order_list/with_detail_level.yml
242
+ - spec/fixtures/responses/order_service/get_order_list/with_distribution_center_code.yml
243
+ - spec/fixtures/responses/order_service/get_order_list/with_export_state.yml
244
+ - spec/fixtures/responses/order_service/get_order_list/with_join_dates.yml
245
+ - spec/fixtures/responses/order_service/get_order_list/with_one_client_order_id.yml
246
+ - spec/fixtures/responses/order_service/get_order_list/with_one_order_id.yml
247
+ - spec/fixtures/responses/order_service/get_order_list/with_order_state_filter.yml
248
+ - spec/fixtures/responses/order_service/get_order_list/with_page_number_filter.yml
249
+ - spec/fixtures/responses/order_service/get_order_list/with_page_size.yml
250
+ - spec/fixtures/responses/order_service/get_order_list/with_payment_status_filter.yml
251
+ - spec/fixtures/responses/order_service/get_order_list/with_refund_status_filter.yml
252
+ - spec/fixtures/responses/order_service/get_order_list/with_shipping_status_filter.yml
253
+ - spec/fixtures/responses/order_service/get_order_list/with_two_client_order_ids.yml
254
+ - spec/fixtures/responses/order_service/get_order_list/with_two_order_ids.yml
255
+ - spec/fixtures/responses/order_service/get_order_list/with_updated_from_date.yml
256
+ - spec/fixtures/responses/order_service/get_order_list/with_updated_to_date.yml
257
+ - spec/fixtures/responses/order_service/get_order_list/without_order_criteria.yml
258
+ - spec/fixtures/responses/order_service/get_order_refund_history/.gitkeep
259
+ - spec/fixtures/responses/order_service/order_merge/.gitkeep
260
+ - spec/fixtures/responses/order_service/order_split/.gitkeep
261
+ - spec/fixtures/responses/order_service/ping/.gitkeep
262
+ - spec/fixtures/responses/order_service/ping/failure.yml
263
+ - spec/fixtures/responses/order_service/ping/success.yml
264
+ - spec/fixtures/responses/order_service/set_orders_export_status/with_one_client_order_id.yml
265
+ - spec/fixtures/responses/order_service/set_orders_export_status/with_two_client_order_id.yml
266
+ - spec/fixtures/responses/order_service/set_seller_order_id/.gitkeep
267
+ - spec/fixtures/responses/order_service/set_seller_order_item_id_list/.gitkeep
268
+ - spec/fixtures/responses/order_service/submit_order/.gitkeep
269
+ - spec/fixtures/responses/order_service/submit_order_refund/.gitkeep
270
+ - spec/fixtures/responses/order_service/update_order_list/.gitkeep
271
+ - spec/fixtures/responses/shipment/get_carriers.yml
272
+ - spec/fixtures/responses/shipment/get_carriers/failure.yml
273
+ - spec/fixtures/responses/shipment/submit.yml
274
+ - spec/fixtures/responses/shipment/submit/failure.yml
275
+ - spec/fixtures/responses/shipment/submit/one_shipment.yml
276
+ - spec/fixtures/responses/shipment/submit/two_shipments.yml
277
+ - spec/fixtures/responses/shipping_service/get_shipping_carrier_list.yml
278
+ - spec/fixtures/responses/shipping_service/ping/failure.yml
279
+ - spec/fixtures/responses/shipping_service/ping/success.yml
280
+ - spec/fixtures/responses/shipping_service/submit_order_shipment_list.yml
281
+ - spec/fixtures/responses/soap_fault.yml
282
+ - spec/lib/channeladvisor/address_spec.rb
283
+ - spec/lib/channeladvisor/admin_spec.rb
284
+ - spec/lib/channeladvisor/line_item_spec.rb
285
+ - spec/lib/channeladvisor/order_spec.rb
286
+ - spec/lib/channeladvisor/order_status_spec.rb
287
+ - spec/lib/channeladvisor/payment_spec.rb
288
+ - spec/lib/channeladvisor/services/admin_service_spec.rb
289
+ - spec/lib/channeladvisor/services/base_service_spec.rb
290
+ - spec/lib/channeladvisor/services/inventory_service_spec.rb
291
+ - spec/lib/channeladvisor/services/order_service_spec.rb
292
+ - spec/lib/channeladvisor/services/shipping_service_spec.rb
293
+ - spec/lib/channeladvisor/shipment_spec.rb
294
+ - spec/lib/channeladvisor/shopping_cart_spec.rb
295
+ - spec/lib/channeladvisor_spec.rb
296
+ - spec/spec_helper.rb
297
+ - spec/support/credentials.rb
298
+ - spec/support/matchers/boolean.rb
299
+ - spec/support/matchers/markup.rb
300
+ - spec/support/rr.rb
301
+ - spec/support/shared_examples.rb
302
+ - spec/support/vcr.rb
303
+ homepage: ''
304
+ licenses: []
305
+ post_install_message:
306
+ rdoc_options: []
307
+ require_paths:
308
+ - lib
309
+ required_ruby_version: !ruby/object:Gem::Requirement
310
+ none: false
311
+ requirements:
312
+ - - ! '>='
313
+ - !ruby/object:Gem::Version
314
+ version: '0'
315
+ required_rubygems_version: !ruby/object:Gem::Requirement
316
+ none: false
317
+ requirements:
318
+ - - ! '>='
319
+ - !ruby/object:Gem::Version
320
+ version: '0'
321
+ requirements: []
322
+ rubyforge_project: channeladvisor
323
+ rubygems_version: 1.8.10
324
+ signing_key:
325
+ specification_version: 3
326
+ summary: Ruby wrapper for the ChannelAdvisor API
327
+ test_files:
328
+ - spec/fixtures/requests/admin_service/get_authorization_list.xml
329
+ - spec/fixtures/requests/admin_service/get_authorization_list_with_local_id.xml
330
+ - spec/fixtures/requests/admin_service/ping.xml
331
+ - spec/fixtures/requests/admin_service/request_access.xml
332
+ - spec/fixtures/requests/inventory_service/ping.xml
333
+ - spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/price_only.xml
334
+ - spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/quantity_and_price.xml
335
+ - spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/quantity_only.xml
336
+ - spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/price_only.xml
337
+ - spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/quantity_and_price.xml
338
+ - spec/fixtures/requests/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/quantity_only.xml
339
+ - spec/fixtures/requests/inventory_service/update_item_price.xml
340
+ - spec/fixtures/requests/inventory_service/update_item_quantity.xml
341
+ - spec/fixtures/requests/inventory_service/update_item_quantity_and_price.xml
342
+ - spec/fixtures/requests/order_service/get_order_list/with_checkout_status_filter.xml
343
+ - spec/fixtures/requests/order_service/get_order_list/with_created_from_date.xml
344
+ - spec/fixtures/requests/order_service/get_order_list/with_created_to_date.xml
345
+ - spec/fixtures/requests/order_service/get_order_list/with_detail_level.xml
346
+ - spec/fixtures/requests/order_service/get_order_list/with_distribution_center_code.xml
347
+ - spec/fixtures/requests/order_service/get_order_list/with_export_state.xml
348
+ - spec/fixtures/requests/order_service/get_order_list/with_join_dates.xml
349
+ - spec/fixtures/requests/order_service/get_order_list/with_one_client_order_id.xml
350
+ - spec/fixtures/requests/order_service/get_order_list/with_one_order_id.xml
351
+ - spec/fixtures/requests/order_service/get_order_list/with_order_state_filter.xml
352
+ - spec/fixtures/requests/order_service/get_order_list/with_page_number_filter.xml
353
+ - spec/fixtures/requests/order_service/get_order_list/with_page_size.xml
354
+ - spec/fixtures/requests/order_service/get_order_list/with_payment_status_filter.xml
355
+ - spec/fixtures/requests/order_service/get_order_list/with_refund_status_filter.xml
356
+ - spec/fixtures/requests/order_service/get_order_list/with_shipping_status_filter.xml
357
+ - spec/fixtures/requests/order_service/get_order_list/with_two_client_order_ids.xml
358
+ - spec/fixtures/requests/order_service/get_order_list/with_two_order_ids.xml
359
+ - spec/fixtures/requests/order_service/get_order_list/with_updated_from_date.xml
360
+ - spec/fixtures/requests/order_service/get_order_list/with_updated_to_date.xml
361
+ - spec/fixtures/requests/order_service/get_order_list/without_order_criteria.xml
362
+ - spec/fixtures/requests/order_service/ping.xml
363
+ - spec/fixtures/requests/order_service/set_orders_export_status/with_one_client_order_id.xml
364
+ - spec/fixtures/requests/order_service/set_orders_export_status/with_two_client_order_ids.xml
365
+ - spec/fixtures/requests/shipping_service/get_shipping_carrier_list.xml
366
+ - spec/fixtures/requests/shipping_service/ping.xml
367
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/with_one_shipment.xml
368
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/with_two_shipments.xml
369
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/without_carrier_code.xml
370
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/without_class_code.xml
371
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/without_client_order_id.xml
372
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/without_seller_id.xml
373
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/full_shipment/without_tracking_number.xml
374
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/with_one_line_item.xml
375
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/with_two_line_items.xml
376
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/with_two_shipments.xml
377
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/without_carrier_code.xml
378
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/without_class_code.xml
379
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/without_seller_id.xml
380
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/partial_shipment/without_tracking_number.xml
381
+ - spec/fixtures/requests/shipping_service/submit_order_shipment_list/with_partial_and_full_shipments.xml
382
+ - spec/fixtures/responses/admin/get_authorization_list/failure.yml
383
+ - spec/fixtures/responses/admin/get_authorization_list/no_authorizations.yml
384
+ - spec/fixtures/responses/admin/get_authorization_list/one_authorization.yml
385
+ - spec/fixtures/responses/admin/get_authorization_list/success.yml
386
+ - spec/fixtures/responses/admin/get_authorization_list/two_authorizations.yml
387
+ - spec/fixtures/responses/admin/ping/failure.yml
388
+ - spec/fixtures/responses/admin/ping/success.yml
389
+ - spec/fixtures/responses/admin/request_access/failure.yml
390
+ - spec/fixtures/responses/admin/request_access/success.yml
391
+ - spec/fixtures/responses/admin_service/get_authorization_list/with_invalid_local_id.yml
392
+ - spec/fixtures/responses/admin_service/get_authorization_list/with_local_id/success.yml
393
+ - spec/fixtures/responses/admin_service/get_authorization_list/with_valid_local_id/multiple_authorizations.yml
394
+ - spec/fixtures/responses/admin_service/get_authorization_list/with_valid_local_id/no_authorizations.yml
395
+ - spec/fixtures/responses/admin_service/get_authorization_list/with_valid_local_id/one_authorization.yml
396
+ - spec/fixtures/responses/admin_service/get_authorization_list/with_valid_local_id/success.yml
397
+ - spec/fixtures/responses/admin_service/get_authorization_list/without_local_id/multiple_authorizations.yml
398
+ - spec/fixtures/responses/admin_service/get_authorization_list/without_local_id/no_authorizations.yml
399
+ - spec/fixtures/responses/admin_service/get_authorization_list/without_local_id/one_authorization.yml
400
+ - spec/fixtures/responses/admin_service/get_authorization_list/without_local_id/success.yml
401
+ - spec/fixtures/responses/admin_service/ping/failure.yml
402
+ - spec/fixtures/responses/admin_service/ping/success.yml
403
+ - spec/fixtures/responses/admin_service/request_access/failure.yml
404
+ - spec/fixtures/responses/admin_service/request_access/success.yml
405
+ - spec/fixtures/responses/http_error.yml
406
+ - spec/fixtures/responses/inventory_service/ping.yml
407
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price.yml
408
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price/price_only.yml
409
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price/quantity_and_price.yml
410
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price/quantity_only.yml
411
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list.yml
412
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/price_only.yml
413
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/quantity_and_price.yml
414
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_one_item/quantity_only.yml
415
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/price_only.yml
416
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/quantity_and_price.yml
417
+ - spec/fixtures/responses/inventory_service/update_inventory_item_quantity_and_price_list/with_two_items/quantity_only.yml
418
+ - spec/fixtures/responses/order/instance_set_export_status.yml
419
+ - spec/fixtures/responses/order/instance_set_export_status/failure.yml
420
+ - spec/fixtures/responses/order/instance_set_export_status/success/result_false.yml
421
+ - spec/fixtures/responses/order/instance_set_export_status/success/result_true.yml
422
+ - spec/fixtures/responses/order/list.yml
423
+ - spec/fixtures/responses/order/list/failure.yml
424
+ - spec/fixtures/responses/order/list/no_matching_orders.yml
425
+ - spec/fixtures/responses/order/list/one_matching_order.yml
426
+ - spec/fixtures/responses/order/list/two_matching_orders.yml
427
+ - spec/fixtures/responses/order/list/with_criteria.yml
428
+ - spec/fixtures/responses/order/list/with_no_criteria.yml
429
+ - spec/fixtures/responses/order/ping.yml
430
+ - spec/fixtures/responses/order/ping/failure.yml
431
+ - spec/fixtures/responses/order/ping/success.yml
432
+ - spec/fixtures/responses/order/set_export_status/failure.yml
433
+ - spec/fixtures/responses/order/set_export_status/success/with_one_client_order_id.yml
434
+ - spec/fixtures/responses/order/set_export_status/success/with_two_client_order_ids.yml
435
+ - spec/fixtures/responses/order_service/get_order_list/.gitkeep
436
+ - spec/fixtures/responses/order_service/get_order_list/with_checkout_status_filter.yml
437
+ - spec/fixtures/responses/order_service/get_order_list/with_created_from_date.yml
438
+ - spec/fixtures/responses/order_service/get_order_list/with_created_to_date.yml
439
+ - spec/fixtures/responses/order_service/get_order_list/with_detail_level.yml
440
+ - spec/fixtures/responses/order_service/get_order_list/with_distribution_center_code.yml
441
+ - spec/fixtures/responses/order_service/get_order_list/with_export_state.yml
442
+ - spec/fixtures/responses/order_service/get_order_list/with_join_dates.yml
443
+ - spec/fixtures/responses/order_service/get_order_list/with_one_client_order_id.yml
444
+ - spec/fixtures/responses/order_service/get_order_list/with_one_order_id.yml
445
+ - spec/fixtures/responses/order_service/get_order_list/with_order_state_filter.yml
446
+ - spec/fixtures/responses/order_service/get_order_list/with_page_number_filter.yml
447
+ - spec/fixtures/responses/order_service/get_order_list/with_page_size.yml
448
+ - spec/fixtures/responses/order_service/get_order_list/with_payment_status_filter.yml
449
+ - spec/fixtures/responses/order_service/get_order_list/with_refund_status_filter.yml
450
+ - spec/fixtures/responses/order_service/get_order_list/with_shipping_status_filter.yml
451
+ - spec/fixtures/responses/order_service/get_order_list/with_two_client_order_ids.yml
452
+ - spec/fixtures/responses/order_service/get_order_list/with_two_order_ids.yml
453
+ - spec/fixtures/responses/order_service/get_order_list/with_updated_from_date.yml
454
+ - spec/fixtures/responses/order_service/get_order_list/with_updated_to_date.yml
455
+ - spec/fixtures/responses/order_service/get_order_list/without_order_criteria.yml
456
+ - spec/fixtures/responses/order_service/get_order_refund_history/.gitkeep
457
+ - spec/fixtures/responses/order_service/order_merge/.gitkeep
458
+ - spec/fixtures/responses/order_service/order_split/.gitkeep
459
+ - spec/fixtures/responses/order_service/ping/.gitkeep
460
+ - spec/fixtures/responses/order_service/ping/failure.yml
461
+ - spec/fixtures/responses/order_service/ping/success.yml
462
+ - spec/fixtures/responses/order_service/set_orders_export_status/with_one_client_order_id.yml
463
+ - spec/fixtures/responses/order_service/set_orders_export_status/with_two_client_order_id.yml
464
+ - spec/fixtures/responses/order_service/set_seller_order_id/.gitkeep
465
+ - spec/fixtures/responses/order_service/set_seller_order_item_id_list/.gitkeep
466
+ - spec/fixtures/responses/order_service/submit_order/.gitkeep
467
+ - spec/fixtures/responses/order_service/submit_order_refund/.gitkeep
468
+ - spec/fixtures/responses/order_service/update_order_list/.gitkeep
469
+ - spec/fixtures/responses/shipment/get_carriers.yml
470
+ - spec/fixtures/responses/shipment/get_carriers/failure.yml
471
+ - spec/fixtures/responses/shipment/submit.yml
472
+ - spec/fixtures/responses/shipment/submit/failure.yml
473
+ - spec/fixtures/responses/shipment/submit/one_shipment.yml
474
+ - spec/fixtures/responses/shipment/submit/two_shipments.yml
475
+ - spec/fixtures/responses/shipping_service/get_shipping_carrier_list.yml
476
+ - spec/fixtures/responses/shipping_service/ping/failure.yml
477
+ - spec/fixtures/responses/shipping_service/ping/success.yml
478
+ - spec/fixtures/responses/shipping_service/submit_order_shipment_list.yml
479
+ - spec/fixtures/responses/soap_fault.yml
480
+ - spec/lib/channeladvisor/address_spec.rb
481
+ - spec/lib/channeladvisor/admin_spec.rb
482
+ - spec/lib/channeladvisor/line_item_spec.rb
483
+ - spec/lib/channeladvisor/order_spec.rb
484
+ - spec/lib/channeladvisor/order_status_spec.rb
485
+ - spec/lib/channeladvisor/payment_spec.rb
486
+ - spec/lib/channeladvisor/services/admin_service_spec.rb
487
+ - spec/lib/channeladvisor/services/base_service_spec.rb
488
+ - spec/lib/channeladvisor/services/inventory_service_spec.rb
489
+ - spec/lib/channeladvisor/services/order_service_spec.rb
490
+ - spec/lib/channeladvisor/services/shipping_service_spec.rb
491
+ - spec/lib/channeladvisor/shipment_spec.rb
492
+ - spec/lib/channeladvisor/shopping_cart_spec.rb
493
+ - spec/lib/channeladvisor_spec.rb
494
+ - spec/spec_helper.rb
495
+ - spec/support/credentials.rb
496
+ - spec/support/matchers/boolean.rb
497
+ - spec/support/matchers/markup.rb
498
+ - spec/support/rr.rb
499
+ - spec/support/shared_examples.rb
500
+ - spec/support/vcr.rb
501
+ has_rdoc: