channeladvisor 0.1.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.
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: