shipwire 0.0.5 → 2.0.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 (186) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -3
  3. data/.rspec +2 -0
  4. data/.ruby-version +1 -1
  5. data/Gemfile +0 -1
  6. data/README.md +53 -29
  7. data/Rakefile +2 -3
  8. data/lib/generators/shipwire/install/install_generator.rb +13 -0
  9. data/lib/generators/shipwire/install/templates/config/initializers/shipwire.rb +27 -0
  10. data/lib/shipwire.rb +26 -33
  11. data/lib/shipwire/api.rb +7 -0
  12. data/lib/shipwire/configuration.rb +13 -3
  13. data/lib/shipwire/orders.rb +39 -0
  14. data/lib/shipwire/param_converter.rb +39 -0
  15. data/lib/shipwire/products.rb +53 -0
  16. data/lib/shipwire/products/base.rb +9 -0
  17. data/lib/shipwire/products/insert.rb +9 -0
  18. data/lib/shipwire/products/kit.rb +9 -0
  19. data/lib/shipwire/products/virtual_kit.rb +9 -0
  20. data/lib/shipwire/rate.rb +7 -0
  21. data/lib/shipwire/receivings.rb +50 -0
  22. data/lib/shipwire/request.rb +73 -0
  23. data/lib/shipwire/response.rb +79 -0
  24. data/lib/shipwire/returns.rb +35 -0
  25. data/lib/shipwire/secret.rb +20 -0
  26. data/lib/shipwire/stock.rb +7 -0
  27. data/lib/shipwire/utility.rb +22 -0
  28. data/lib/shipwire/version.rb +1 -1
  29. data/lib/shipwire/webhooks.rb +24 -0
  30. data/shipwire.gemspec +12 -15
  31. data/spec/features/access_spec.rb +61 -0
  32. data/spec/features/orders_spec.rb +280 -0
  33. data/spec/features/product_types_spec.rb +219 -0
  34. data/spec/features/products_spec.rb +282 -0
  35. data/spec/features/rate_spec.rb +50 -0
  36. data/spec/features/receivings_spec.rb +333 -0
  37. data/spec/features/returns_spec.rb +239 -0
  38. data/spec/features/secret_spec.rb +57 -0
  39. data/spec/features/stock_spec.rb +41 -0
  40. data/spec/features/webhooks_spec.rb +106 -0
  41. data/spec/spec_helper.rb +33 -12
  42. data/spec/support/shipwire.rb +10 -0
  43. data/spec/support/vcr.rb +9 -0
  44. data/spec/support/vcr_cassettes/credentials_incorrect.yml +47 -0
  45. data/spec/support/vcr_cassettes/credentials_missing.yml +47 -0
  46. data/spec/support/vcr_cassettes/order.yml +48 -0
  47. data/spec/support/vcr_cassettes/order_cancel.yml +54 -0
  48. data/spec/support/vcr_cassettes/order_cancel_fail.yml +47 -0
  49. data/spec/support/vcr_cassettes/order_find.yml +45 -0
  50. data/spec/support/vcr_cassettes/order_find_fail.yml +45 -0
  51. data/spec/support/vcr_cassettes/order_find_with_params.yml +45 -0
  52. data/spec/support/vcr_cassettes/order_holds.yml +50 -0
  53. data/spec/support/vcr_cassettes/order_holds_fail.yml +45 -0
  54. data/spec/support/vcr_cassettes/order_holds_with_params.yml +50 -0
  55. data/spec/support/vcr_cassettes/order_items.yml +45 -0
  56. data/spec/support/vcr_cassettes/order_items_fail.yml +45 -0
  57. data/spec/support/vcr_cassettes/order_returns.yml +47 -0
  58. data/spec/support/vcr_cassettes/order_returns_fail.yml +47 -0
  59. data/spec/support/vcr_cassettes/order_trackings.yml +45 -0
  60. data/spec/support/vcr_cassettes/order_trackings_fail.yml +45 -0
  61. data/spec/support/vcr_cassettes/order_update.yml +48 -0
  62. data/spec/support/vcr_cassettes/order_update_fail.yml +50 -0
  63. data/spec/support/vcr_cassettes/order_update_with_params.yml +48 -0
  64. data/spec/support/vcr_cassettes/order_with_warnings.yml +96 -0
  65. data/spec/support/vcr_cassettes/orders_list.yml +47 -0
  66. data/spec/support/vcr_cassettes/orders_list_with_params.yml +47 -0
  67. data/spec/support/vcr_cassettes/product.yml +48 -0
  68. data/spec/support/vcr_cassettes/product_base.yml +48 -0
  69. data/spec/support/vcr_cassettes/product_base_find.yml +48 -0
  70. data/spec/support/vcr_cassettes/product_base_find_fail.yml +47 -0
  71. data/spec/support/vcr_cassettes/product_base_retire_id.yml +47 -0
  72. data/spec/support/vcr_cassettes/product_base_retire_nonexistent.yml +47 -0
  73. data/spec/support/vcr_cassettes/product_base_update.yml +48 -0
  74. data/spec/support/vcr_cassettes/product_base_update_fail.yml +48 -0
  75. data/spec/support/vcr_cassettes/product_create_fail_with_invalid_classification.yml +51 -0
  76. data/spec/support/vcr_cassettes/product_find.yml +48 -0
  77. data/spec/support/vcr_cassettes/product_find_fail.yml +47 -0
  78. data/spec/support/vcr_cassettes/product_insert.yml +50 -0
  79. data/spec/support/vcr_cassettes/product_insert_find.yml +48 -0
  80. data/spec/support/vcr_cassettes/product_insert_find_fail.yml +47 -0
  81. data/spec/support/vcr_cassettes/product_insert_retire_id.yml +47 -0
  82. data/spec/support/vcr_cassettes/product_insert_retire_nonexistent.yml +47 -0
  83. data/spec/support/vcr_cassettes/product_insert_update.yml +49 -0
  84. data/spec/support/vcr_cassettes/product_insert_update_fail.yml +48 -0
  85. data/spec/support/vcr_cassettes/product_kit.yml +48 -0
  86. data/spec/support/vcr_cassettes/product_kit_find.yml +48 -0
  87. data/spec/support/vcr_cassettes/product_kit_find_fail.yml +47 -0
  88. data/spec/support/vcr_cassettes/product_kit_retire_id.yml +47 -0
  89. data/spec/support/vcr_cassettes/product_kit_retire_nonexistent.yml +47 -0
  90. data/spec/support/vcr_cassettes/product_kit_update.yml +48 -0
  91. data/spec/support/vcr_cassettes/product_kit_update_fail.yml +47 -0
  92. data/spec/support/vcr_cassettes/product_multiple_create_fail.yml +102 -0
  93. data/spec/support/vcr_cassettes/product_multiple_create_success.yml +100 -0
  94. data/spec/support/vcr_cassettes/product_retire_id.yml +47 -0
  95. data/spec/support/vcr_cassettes/product_retire_nonexistent.yml +47 -0
  96. data/spec/support/vcr_cassettes/product_update.yml +48 -0
  97. data/spec/support/vcr_cassettes/product_update_fail.yml +48 -0
  98. data/spec/support/vcr_cassettes/product_virtual_kit.yml +48 -0
  99. data/spec/support/vcr_cassettes/product_virtual_kit_find.yml +48 -0
  100. data/spec/support/vcr_cassettes/product_virtual_kit_find_fail.yml +47 -0
  101. data/spec/support/vcr_cassettes/product_virtual_kit_retire_id.yml +47 -0
  102. data/spec/support/vcr_cassettes/product_virtual_kit_retire_nonexistent.yml +47 -0
  103. data/spec/support/vcr_cassettes/product_virtual_kit_update.yml +49 -0
  104. data/spec/support/vcr_cassettes/product_virtual_kit_update_fail.yml +47 -0
  105. data/spec/support/vcr_cassettes/products_base_list.yml +49 -0
  106. data/spec/support/vcr_cassettes/products_base_list_with_params.yml +49 -0
  107. data/spec/support/vcr_cassettes/products_insert_list.yml +47 -0
  108. data/spec/support/vcr_cassettes/products_insert_list_with_params.yml +47 -0
  109. data/spec/support/vcr_cassettes/products_kit_list.yml +47 -0
  110. data/spec/support/vcr_cassettes/products_kit_list_with_params.yml +47 -0
  111. data/spec/support/vcr_cassettes/products_list.yml +49 -0
  112. data/spec/support/vcr_cassettes/products_list_with_params.yml +49 -0
  113. data/spec/support/vcr_cassettes/products_virtual_kit_list.yml +47 -0
  114. data/spec/support/vcr_cassettes/products_virtual_kit_list_with_params.yml +47 -0
  115. data/spec/support/vcr_cassettes/rate_find.yml +53 -0
  116. data/spec/support/vcr_cassettes/rate_find_fail.yml +50 -0
  117. data/spec/support/vcr_cassettes/receiving.yml +53 -0
  118. data/spec/support/vcr_cassettes/receiving_cancel.yml +98 -0
  119. data/spec/support/vcr_cassettes/receiving_cancel_label.yml +47 -0
  120. data/spec/support/vcr_cassettes/receiving_cancel_label_nonexistent.yml +47 -0
  121. data/spec/support/vcr_cassettes/receiving_find.yml +46 -0
  122. data/spec/support/vcr_cassettes/receiving_find_fail.yml +45 -0
  123. data/spec/support/vcr_cassettes/receiving_find_with_params.yml +48 -0
  124. data/spec/support/vcr_cassettes/receiving_holds.yml +47 -0
  125. data/spec/support/vcr_cassettes/receiving_holds_fail.yml +45 -0
  126. data/spec/support/vcr_cassettes/receiving_holds_with_params.yml +47 -0
  127. data/spec/support/vcr_cassettes/receiving_instructions_recipients.yml +45 -0
  128. data/spec/support/vcr_cassettes/receiving_instructions_recipients_fail.yml +45 -0
  129. data/spec/support/vcr_cassettes/receiving_items.yml +45 -0
  130. data/spec/support/vcr_cassettes/receiving_items_fail.yml +45 -0
  131. data/spec/support/vcr_cassettes/receiving_shipments.yml +45 -0
  132. data/spec/support/vcr_cassettes/receiving_shipments_fail.yml +45 -0
  133. data/spec/support/vcr_cassettes/receiving_tracking.yml +45 -0
  134. data/spec/support/vcr_cassettes/receiving_tracking_fail.yml +45 -0
  135. data/spec/support/vcr_cassettes/receiving_update.yml +53 -0
  136. data/spec/support/vcr_cassettes/receiving_update_fail.yml +49 -0
  137. data/spec/support/vcr_cassettes/receiving_update_with_params.yml +55 -0
  138. data/spec/support/vcr_cassettes/receivings_list.yml +53 -0
  139. data/spec/support/vcr_cassettes/receivings_list_with_params.yml +46 -0
  140. data/spec/support/vcr_cassettes/return.yml +98 -0
  141. data/spec/support/vcr_cassettes/return_cancel.yml +55 -0
  142. data/spec/support/vcr_cassettes/return_cancel_fail.yml +47 -0
  143. data/spec/support/vcr_cassettes/return_find.yml +47 -0
  144. data/spec/support/vcr_cassettes/return_find_fail.yml +45 -0
  145. data/spec/support/vcr_cassettes/return_find_with_params.yml +47 -0
  146. data/spec/support/vcr_cassettes/return_holds.yml +45 -0
  147. data/spec/support/vcr_cassettes/return_holds_fail.yml +45 -0
  148. data/spec/support/vcr_cassettes/return_holds_with_params.yml +45 -0
  149. data/spec/support/vcr_cassettes/return_items.yml +45 -0
  150. data/spec/support/vcr_cassettes/return_items_fail.yml +45 -0
  151. data/spec/support/vcr_cassettes/return_labels.yml +45 -0
  152. data/spec/support/vcr_cassettes/return_labels_fail.yml +45 -0
  153. data/spec/support/vcr_cassettes/return_trackings.yml +45 -0
  154. data/spec/support/vcr_cassettes/return_trackings_fail.yml +45 -0
  155. data/spec/support/vcr_cassettes/returns_list.yml +47 -0
  156. data/spec/support/vcr_cassettes/returns_list_with_params.yml +47 -0
  157. data/spec/support/vcr_cassettes/secret.yml +47 -0
  158. data/spec/support/vcr_cassettes/secret_find.yml +45 -0
  159. data/spec/support/vcr_cassettes/secret_find_fail.yml +43 -0
  160. data/spec/support/vcr_cassettes/secret_list.yml +45 -0
  161. data/spec/support/vcr_cassettes/secret_remove.yml +45 -0
  162. data/spec/support/vcr_cassettes/stock_with_params.yml +45 -0
  163. data/spec/support/vcr_cassettes/stock_with_params_no_sku.yml +45 -0
  164. data/spec/support/vcr_cassettes/stock_without_params.yml +45 -0
  165. data/spec/support/vcr_cassettes/webhook.yml +47 -0
  166. data/spec/support/vcr_cassettes/webhooks_create_insecure.yml +50 -0
  167. data/spec/support/vcr_cassettes/webhooks_find.yml +47 -0
  168. data/spec/support/vcr_cassettes/webhooks_find_fail.yml +47 -0
  169. data/spec/support/vcr_cassettes/webhooks_list.yml +47 -0
  170. data/spec/support/vcr_cassettes/webhooks_remove.yml +47 -0
  171. data/spec/support/vcr_cassettes/webhooks_update.yml +47 -0
  172. data/spec/support/vcr_cassettes/webhooks_update_fail.yml +49 -0
  173. data/spec/unit/shipwire/response_spec.rb +46 -0
  174. metadata +354 -80
  175. data/.env +0 -4
  176. data/.env.example +0 -4
  177. data/Gemfile.lock +0 -69
  178. data/lib/shipwire/fulfillment.rb +0 -100
  179. data/lib/shipwire/inventory.rb +0 -72
  180. data/lib/shipwire/service_request.rb +0 -42
  181. data/lib/shipwire/shipping_rate.rb +0 -121
  182. data/lib/shipwire/tracking.rb +0 -101
  183. data/spec/shipwire/fulfillment_spec.rb +0 -36
  184. data/spec/shipwire/inventory_spec.rb +0 -25
  185. data/spec/shipwire/shipping_rate_spec.rb +0 -62
  186. data/spec/shipwire/tracking_spec.rb +0 -20
@@ -0,0 +1,47 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://david.freerksen%40groundctrl.com:gOg6maBr6E@api.beta.shipwire.com/api/v3/webhooks
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"topic":"order.created","url":"https://www.shipwire.com/"}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Mon, 22 Jun 2015 21:26:55 GMT
25
+ Server:
26
+ - Apache
27
+ X-Process-Time-Seconds:
28
+ - '0.298390'
29
+ X-Request-Id:
30
+ - faa126a6811fc3dfabcb427064f9ca59
31
+ Vary:
32
+ - Accept-Encoding
33
+ Strict-Transport-Security:
34
+ - max-age=31536000; includeSubDomains
35
+ P3p:
36
+ - policyref="/w3c/p3p.xml", CP="COM CNT INT NAV PUR STA UNI CAO DSP CUR o i
37
+ OUR IND"
38
+ Content-Length:
39
+ - '218'
40
+ Content-Type:
41
+ - application/json
42
+ body:
43
+ encoding: UTF-8
44
+ string: '{"status":200,"message":"Successful","resourceLocation":"https:\/\/api.beta.shipwire.com\/api\/v3\/webhooks?offset=0&limit=1","resource":{"offset":0,"total":1,"previous":null,"next":null,"items":[{"resourceLocation":"https:\/\/api.beta.shipwire.com\/api\/v3\/webhooks\/271","resource":{"id":271,"topic":"order.created","url":"https:\/\/www.shipwire.com\/"}}]}}'
45
+ http_version:
46
+ recorded_at: Mon, 22 Jun 2015 21:26:56 GMT
47
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,50 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://david.freerksen%40groundctrl.com:gOg6maBr6E@api.beta.shipwire.com/api/v3/webhooks
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"topic":"order.created","url":"http://www.reddit.com/"}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 400
21
+ message: Bad Request
22
+ headers:
23
+ Date:
24
+ - Mon, 22 Jun 2015 21:26:56 GMT
25
+ Server:
26
+ - Apache
27
+ X-Process-Time-Seconds:
28
+ - '0.023027'
29
+ X-Request-Id:
30
+ - 15e791fe33a03949845ab6bd2ae90fb7
31
+ Vary:
32
+ - Accept-Encoding
33
+ Strict-Transport-Security:
34
+ - max-age=31536000; includeSubDomains
35
+ P3p:
36
+ - policyref="/w3c/p3p.xml", CP="COM CNT INT NAV PUR STA UNI CAO DSP CUR o i
37
+ OUR IND"
38
+ Content-Length:
39
+ - '237'
40
+ Connection:
41
+ - close
42
+ Content-Type:
43
+ - application/json
44
+ body:
45
+ encoding: UTF-8
46
+ string: '{"status":400,"message":"Invalid request","errors":["Invalid URL"],"resourceLocation":"https:\/\/api.beta.shipwire.com\/api\/v3\/webhooks?offset=0&limit=1","resource":{"offset":0,"total":1,"previous":null,"next":null,"items":[{"errors":["Invalid
47
+ URL"],"resourceLocation":null,"resource":{"id":0,"topic":"order.created","url":"http:\/\/www.reddit.com\/"}}]}}'
48
+ http_version:
49
+ recorded_at: Mon, 22 Jun 2015 21:26:56 GMT
50
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,47 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://david.freerksen%40groundctrl.com:gOg6maBr6E@api.beta.shipwire.com/api/v3/webhooks/271
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Mon, 22 Jun 2015 21:26:57 GMT
25
+ Server:
26
+ - Apache
27
+ X-Process-Time-Seconds:
28
+ - '0.024038'
29
+ X-Request-Id:
30
+ - b4bae36a475e4b6743a1ada20d941b4e
31
+ Vary:
32
+ - Accept-Encoding
33
+ Strict-Transport-Security:
34
+ - max-age=31536000; includeSubDomains
35
+ P3p:
36
+ - policyref="/w3c/p3p.xml", CP="COM CNT INT NAV PUR STA UNI CAO DSP CUR o i
37
+ OUR IND"
38
+ Content-Length:
39
+ - '160'
40
+ Content-Type:
41
+ - application/json
42
+ body:
43
+ encoding: UTF-8
44
+ string: '{"status":200,"message":"Successful","resourceLocation":"https:\/\/api.beta.shipwire.com\/api\/v3\/webhooks\/271","resource":{"id":271,"topic":"v1.order.created","url":"https:\/\/www.shipwire.com\/"}}'
45
+ http_version:
46
+ recorded_at: Mon, 22 Jun 2015 21:26:57 GMT
47
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,47 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://david.freerksen%40groundctrl.com:gOg6maBr6E@api.beta.shipwire.com/api/v3/webhooks/0
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 404
21
+ message: Not Found
22
+ headers:
23
+ Date:
24
+ - Mon, 22 Jun 2015 21:26:57 GMT
25
+ Server:
26
+ - Apache
27
+ X-Process-Time-Seconds:
28
+ - '0.023866'
29
+ X-Request-Id:
30
+ - 4afc3abd50d973b8d9776e60e124c97d
31
+ Vary:
32
+ - Accept-Encoding
33
+ Strict-Transport-Security:
34
+ - max-age=31536000; includeSubDomains
35
+ P3p:
36
+ - policyref="/w3c/p3p.xml", CP="COM CNT INT NAV PUR STA UNI CAO DSP CUR o i
37
+ OUR IND"
38
+ Content-Length:
39
+ - '92'
40
+ Content-Type:
41
+ - application/json
42
+ body:
43
+ encoding: UTF-8
44
+ string: '{"status":404,"message":"Subscription not found.","resourceLocation":null}'
45
+ http_version:
46
+ recorded_at: Mon, 22 Jun 2015 21:26:57 GMT
47
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,47 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://david.freerksen%40groundctrl.com:gOg6maBr6E@api.beta.shipwire.com/api/v3/webhooks
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Mon, 22 Jun 2015 21:26:55 GMT
25
+ Server:
26
+ - Apache
27
+ X-Process-Time-Seconds:
28
+ - '0.025620'
29
+ X-Request-Id:
30
+ - 3954fc50fe2abe826b81eaf986b40408
31
+ Vary:
32
+ - Accept-Encoding
33
+ Strict-Transport-Security:
34
+ - max-age=31536000; includeSubDomains
35
+ P3p:
36
+ - policyref="/w3c/p3p.xml", CP="COM CNT INT NAV PUR STA UNI CAO DSP CUR o i
37
+ OUR IND"
38
+ Content-Length:
39
+ - '254'
40
+ Content-Type:
41
+ - application/json
42
+ body:
43
+ encoding: UTF-8
44
+ string: '{"status":200,"message":"Successful","resourceLocation":"https:\/\/api.beta.shipwire.com\/api\/v3\/webhooks?offset=0&limit=20","resource":{"offset":0,"total":3,"previous":null,"next":null,"items":[{"resourceLocation":"https:\/\/api.beta.shipwire.com\/api\/v3\/webhooks\/264","resource":{"id":264,"topic":"v1.order.created","url":"https:\/\/demo.spreecommerce.com\/webhooks"}},{"resourceLocation":"https:\/\/api.beta.shipwire.com\/api\/v3\/webhooks\/265","resource":{"id":265,"topic":"v1.order.created","url":"https:\/\/demo.spreecommerce.com\/webhooks"}},{"resourceLocation":"https:\/\/api.beta.shipwire.com\/api\/v3\/webhooks\/266","resource":{"id":266,"topic":"v1.order.created","url":"https:\/\/demo.spreecommerce.com\/webhooks\/path"}}]}}'
45
+ http_version:
46
+ recorded_at: Mon, 22 Jun 2015 21:26:55 GMT
47
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,47 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: https://david.freerksen%40groundctrl.com:gOg6maBr6E@api.beta.shipwire.com/api/v3/webhooks/271
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Mon, 22 Jun 2015 21:27:01 GMT
25
+ Server:
26
+ - Apache
27
+ X-Process-Time-Seconds:
28
+ - '0.150943'
29
+ X-Request-Id:
30
+ - e4112c89d074e452ed9b058fb4c77e74
31
+ Vary:
32
+ - Accept-Encoding
33
+ Strict-Transport-Security:
34
+ - max-age=31536000; includeSubDomains
35
+ P3p:
36
+ - policyref="/w3c/p3p.xml", CP="COM CNT INT NAV PUR STA UNI CAO DSP CUR o i
37
+ OUR IND"
38
+ Content-Length:
39
+ - '73'
40
+ Content-Type:
41
+ - application/json
42
+ body:
43
+ encoding: UTF-8
44
+ string: '{"status":200,"message":"OK","resourceLocation":null}'
45
+ http_version:
46
+ recorded_at: Mon, 22 Jun 2015 21:27:01 GMT
47
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,47 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://david.freerksen%40groundctrl.com:gOg6maBr6E@api.beta.shipwire.com/api/v3/webhooks/271
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"topic":"order.created","url":"https://www.shipwire.com/about/"}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Mon, 22 Jun 2015 21:26:58 GMT
25
+ Server:
26
+ - Apache
27
+ X-Process-Time-Seconds:
28
+ - '1.097663'
29
+ X-Request-Id:
30
+ - 6322e6f2a76855ac5d9e3d43ac139bae
31
+ Vary:
32
+ - Accept-Encoding
33
+ Strict-Transport-Security:
34
+ - max-age=31536000; includeSubDomains
35
+ P3p:
36
+ - policyref="/w3c/p3p.xml", CP="COM CNT INT NAV PUR STA UNI CAO DSP CUR o i
37
+ OUR IND"
38
+ Content-Length:
39
+ - '161'
40
+ Content-Type:
41
+ - application/json
42
+ body:
43
+ encoding: UTF-8
44
+ string: '{"status":200,"message":"Successful","resourceLocation":"https:\/\/api.beta.shipwire.com\/api\/v3\/webhooks\/271","resource":{"id":271,"topic":"order.created","url":"https:\/\/www.shipwire.com\/about\/"}}'
45
+ http_version:
46
+ recorded_at: Mon, 22 Jun 2015 21:26:59 GMT
47
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://david.freerksen%40groundctrl.com:gOg6maBr6E@api.beta.shipwire.com/api/v3/webhooks/0
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"topic":"order.created","url":"https://www.shipwire.com/about/"}'
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ User-Agent:
17
+ - Ruby
18
+ response:
19
+ status:
20
+ code: 400
21
+ message: Bad Request
22
+ headers:
23
+ Date:
24
+ - Mon, 22 Jun 2015 21:26:59 GMT
25
+ Server:
26
+ - Apache
27
+ X-Process-Time-Seconds:
28
+ - '0.931544'
29
+ X-Request-Id:
30
+ - 249c7e4d5c120191c72cbc06bdc45f06
31
+ Vary:
32
+ - Accept-Encoding
33
+ Strict-Transport-Security:
34
+ - max-age=31536000; includeSubDomains
35
+ P3p:
36
+ - policyref="/w3c/p3p.xml", CP="COM CNT INT NAV PUR STA UNI CAO DSP CUR o i
37
+ OUR IND"
38
+ Content-Length:
39
+ - '179'
40
+ Connection:
41
+ - close
42
+ Content-Type:
43
+ - application/json
44
+ body:
45
+ encoding: UTF-8
46
+ string: '{"status":400,"message":"Invalid request","errors":["Not found"],"resourceLocation":"https:\/\/api.beta.shipwire.com\/api\/v3\/webhooks\/0","resource":{"id":0,"topic":"order.created","url":"https:\/\/www.shipwire.com\/about\/"}}'
47
+ http_version:
48
+ recorded_at: Mon, 22 Jun 2015 21:27:00 GMT
49
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Shipwire::Response do
4
+ describe '#error_report' do
5
+ context 'when the response has an error summary' do
6
+ it 'includes it in the returned text' do
7
+ body = JSON.generate(
8
+ 'status' => 500,
9
+ 'message' => 'Something really bad happened'
10
+ )
11
+ underlying_response = double(:response, body: body)
12
+ response = described_class.new(
13
+ underlying_response: underlying_response
14
+ )
15
+
16
+ expected_error_summary = <<-REPORT.rstrip
17
+ Error summary:
18
+ Something really bad happened
19
+ REPORT
20
+ expect(response.error_report).to eq(expected_error_summary)
21
+ end
22
+ end
23
+
24
+ context 'when the response has validation errors' do
25
+ it 'includes it in the returned text' do
26
+ body = JSON.generate(
27
+ 'errors' => {
28
+ 'SKU-1' => { 'some' => 'really really really long error' },
29
+ 'SKU-2' => { 'another' => 'error' }
30
+ }
31
+ )
32
+ underlying_response = double(:response, body: body)
33
+ response = described_class.new(
34
+ underlying_response: underlying_response
35
+ )
36
+
37
+ expected_validation_errors = <<-REPORT.rstrip
38
+ Validation errors:
39
+ {"SKU-1"=>{"some"=>"really really really long error"},
40
+ "SKU-2"=>{"another"=>"error"}}
41
+ REPORT
42
+ expect(response.error_report).to eq(expected_validation_errors)
43
+ end
44
+ end
45
+ end
46
+ end
metadata CHANGED
@@ -1,200 +1,336 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shipwire
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bill Rowell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-30 00:00:00.000000000 Z
11
+ date: 2016-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: faraday
14
+ name: deep_merge
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 1.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 1.0.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: nokogiri
28
+ name: faraday
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 0.9.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 0.9.1
41
41
  - !ruby/object:Gem::Dependency
42
- name: bundler
42
+ name: faraday_middleware
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.6'
48
- type: :development
47
+ version: 0.10.0
48
+ type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.6'
54
+ version: 0.10.0
55
55
  - !ruby/object:Gem::Dependency
56
- name: rake
56
+ name: recursive-open-struct
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
61
+ version: 0.6.4
62
+ type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: 0.6.4
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 3.2.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 3.2.0
83
83
  - !ruby/object:Gem::Dependency
84
- name: mocha
84
+ name: ffaker
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 2.0.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: 2.0.0
97
97
  - !ruby/object:Gem::Dependency
98
- name: rack-test
98
+ name: simplecov
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: 0.10.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: 0.10.0
111
111
  - !ruby/object:Gem::Dependency
112
- name: dotenv
112
+ name: vcr
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: 2.9.3
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: 2.9.3
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: webmock
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: vcr
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
129
+ - - "~>"
144
130
  - !ruby/object:Gem::Version
145
- version: '0'
131
+ version: 1.21.0
146
132
  type: :development
147
133
  prerelease: false
148
134
  version_requirements: !ruby/object:Gem::Requirement
149
135
  requirements:
150
- - - ">="
136
+ - - "~>"
151
137
  - !ruby/object:Gem::Version
152
- version: '0'
138
+ version: 1.21.0
153
139
  - !ruby/object:Gem::Dependency
154
140
  name: pry
155
141
  requirement: !ruby/object:Gem::Requirement
156
142
  requirements:
157
- - - ">="
143
+ - - "~>"
158
144
  - !ruby/object:Gem::Version
159
- version: '0'
145
+ version: 0.10.1
160
146
  type: :development
161
147
  prerelease: false
162
148
  version_requirements: !ruby/object:Gem::Requirement
163
149
  requirements:
164
- - - ">="
150
+ - - "~>"
165
151
  - !ruby/object:Gem::Version
166
- version: '0'
167
- description: Provides a wrapper for API calls to Shipwire fullfillment
152
+ version: 0.10.1
153
+ description: Provides a wrapper for API calls to Shipwire
168
154
  email:
169
155
  - billr578@gmail.com
170
156
  executables: []
171
157
  extensions: []
172
158
  extra_rdoc_files: []
173
159
  files:
174
- - ".env"
175
- - ".env.example"
176
160
  - ".gitignore"
161
+ - ".rspec"
177
162
  - ".ruby-gemset"
178
163
  - ".ruby-version"
179
164
  - Gemfile
180
- - Gemfile.lock
181
165
  - LICENSE
182
166
  - README.md
183
167
  - Rakefile
168
+ - lib/generators/shipwire/install/install_generator.rb
169
+ - lib/generators/shipwire/install/templates/config/initializers/shipwire.rb
184
170
  - lib/shipwire.rb
171
+ - lib/shipwire/api.rb
185
172
  - lib/shipwire/configuration.rb
186
- - lib/shipwire/fulfillment.rb
187
- - lib/shipwire/inventory.rb
188
- - lib/shipwire/service_request.rb
189
- - lib/shipwire/shipping_rate.rb
190
- - lib/shipwire/tracking.rb
173
+ - lib/shipwire/orders.rb
174
+ - lib/shipwire/param_converter.rb
175
+ - lib/shipwire/products.rb
176
+ - lib/shipwire/products/base.rb
177
+ - lib/shipwire/products/insert.rb
178
+ - lib/shipwire/products/kit.rb
179
+ - lib/shipwire/products/virtual_kit.rb
180
+ - lib/shipwire/rate.rb
181
+ - lib/shipwire/receivings.rb
182
+ - lib/shipwire/request.rb
183
+ - lib/shipwire/response.rb
184
+ - lib/shipwire/returns.rb
185
+ - lib/shipwire/secret.rb
186
+ - lib/shipwire/stock.rb
187
+ - lib/shipwire/utility.rb
191
188
  - lib/shipwire/version.rb
189
+ - lib/shipwire/webhooks.rb
192
190
  - shipwire.gemspec
193
- - spec/shipwire/fulfillment_spec.rb
194
- - spec/shipwire/inventory_spec.rb
195
- - spec/shipwire/shipping_rate_spec.rb
196
- - spec/shipwire/tracking_spec.rb
191
+ - spec/features/access_spec.rb
192
+ - spec/features/orders_spec.rb
193
+ - spec/features/product_types_spec.rb
194
+ - spec/features/products_spec.rb
195
+ - spec/features/rate_spec.rb
196
+ - spec/features/receivings_spec.rb
197
+ - spec/features/returns_spec.rb
198
+ - spec/features/secret_spec.rb
199
+ - spec/features/stock_spec.rb
200
+ - spec/features/webhooks_spec.rb
197
201
  - spec/spec_helper.rb
202
+ - spec/support/shipwire.rb
203
+ - spec/support/vcr.rb
204
+ - spec/support/vcr_cassettes/credentials_incorrect.yml
205
+ - spec/support/vcr_cassettes/credentials_missing.yml
206
+ - spec/support/vcr_cassettes/order.yml
207
+ - spec/support/vcr_cassettes/order_cancel.yml
208
+ - spec/support/vcr_cassettes/order_cancel_fail.yml
209
+ - spec/support/vcr_cassettes/order_find.yml
210
+ - spec/support/vcr_cassettes/order_find_fail.yml
211
+ - spec/support/vcr_cassettes/order_find_with_params.yml
212
+ - spec/support/vcr_cassettes/order_holds.yml
213
+ - spec/support/vcr_cassettes/order_holds_fail.yml
214
+ - spec/support/vcr_cassettes/order_holds_with_params.yml
215
+ - spec/support/vcr_cassettes/order_items.yml
216
+ - spec/support/vcr_cassettes/order_items_fail.yml
217
+ - spec/support/vcr_cassettes/order_returns.yml
218
+ - spec/support/vcr_cassettes/order_returns_fail.yml
219
+ - spec/support/vcr_cassettes/order_trackings.yml
220
+ - spec/support/vcr_cassettes/order_trackings_fail.yml
221
+ - spec/support/vcr_cassettes/order_update.yml
222
+ - spec/support/vcr_cassettes/order_update_fail.yml
223
+ - spec/support/vcr_cassettes/order_update_with_params.yml
224
+ - spec/support/vcr_cassettes/order_with_warnings.yml
225
+ - spec/support/vcr_cassettes/orders_list.yml
226
+ - spec/support/vcr_cassettes/orders_list_with_params.yml
227
+ - spec/support/vcr_cassettes/product.yml
228
+ - spec/support/vcr_cassettes/product_base.yml
229
+ - spec/support/vcr_cassettes/product_base_find.yml
230
+ - spec/support/vcr_cassettes/product_base_find_fail.yml
231
+ - spec/support/vcr_cassettes/product_base_retire_id.yml
232
+ - spec/support/vcr_cassettes/product_base_retire_nonexistent.yml
233
+ - spec/support/vcr_cassettes/product_base_update.yml
234
+ - spec/support/vcr_cassettes/product_base_update_fail.yml
235
+ - spec/support/vcr_cassettes/product_create_fail_with_invalid_classification.yml
236
+ - spec/support/vcr_cassettes/product_find.yml
237
+ - spec/support/vcr_cassettes/product_find_fail.yml
238
+ - spec/support/vcr_cassettes/product_insert.yml
239
+ - spec/support/vcr_cassettes/product_insert_find.yml
240
+ - spec/support/vcr_cassettes/product_insert_find_fail.yml
241
+ - spec/support/vcr_cassettes/product_insert_retire_id.yml
242
+ - spec/support/vcr_cassettes/product_insert_retire_nonexistent.yml
243
+ - spec/support/vcr_cassettes/product_insert_update.yml
244
+ - spec/support/vcr_cassettes/product_insert_update_fail.yml
245
+ - spec/support/vcr_cassettes/product_kit.yml
246
+ - spec/support/vcr_cassettes/product_kit_find.yml
247
+ - spec/support/vcr_cassettes/product_kit_find_fail.yml
248
+ - spec/support/vcr_cassettes/product_kit_retire_id.yml
249
+ - spec/support/vcr_cassettes/product_kit_retire_nonexistent.yml
250
+ - spec/support/vcr_cassettes/product_kit_update.yml
251
+ - spec/support/vcr_cassettes/product_kit_update_fail.yml
252
+ - spec/support/vcr_cassettes/product_multiple_create_fail.yml
253
+ - spec/support/vcr_cassettes/product_multiple_create_success.yml
254
+ - spec/support/vcr_cassettes/product_retire_id.yml
255
+ - spec/support/vcr_cassettes/product_retire_nonexistent.yml
256
+ - spec/support/vcr_cassettes/product_update.yml
257
+ - spec/support/vcr_cassettes/product_update_fail.yml
258
+ - spec/support/vcr_cassettes/product_virtual_kit.yml
259
+ - spec/support/vcr_cassettes/product_virtual_kit_find.yml
260
+ - spec/support/vcr_cassettes/product_virtual_kit_find_fail.yml
261
+ - spec/support/vcr_cassettes/product_virtual_kit_retire_id.yml
262
+ - spec/support/vcr_cassettes/product_virtual_kit_retire_nonexistent.yml
263
+ - spec/support/vcr_cassettes/product_virtual_kit_update.yml
264
+ - spec/support/vcr_cassettes/product_virtual_kit_update_fail.yml
265
+ - spec/support/vcr_cassettes/products_base_list.yml
266
+ - spec/support/vcr_cassettes/products_base_list_with_params.yml
267
+ - spec/support/vcr_cassettes/products_insert_list.yml
268
+ - spec/support/vcr_cassettes/products_insert_list_with_params.yml
269
+ - spec/support/vcr_cassettes/products_kit_list.yml
270
+ - spec/support/vcr_cassettes/products_kit_list_with_params.yml
271
+ - spec/support/vcr_cassettes/products_list.yml
272
+ - spec/support/vcr_cassettes/products_list_with_params.yml
273
+ - spec/support/vcr_cassettes/products_virtual_kit_list.yml
274
+ - spec/support/vcr_cassettes/products_virtual_kit_list_with_params.yml
275
+ - spec/support/vcr_cassettes/rate_find.yml
276
+ - spec/support/vcr_cassettes/rate_find_fail.yml
277
+ - spec/support/vcr_cassettes/receiving.yml
278
+ - spec/support/vcr_cassettes/receiving_cancel.yml
279
+ - spec/support/vcr_cassettes/receiving_cancel_label.yml
280
+ - spec/support/vcr_cassettes/receiving_cancel_label_nonexistent.yml
281
+ - spec/support/vcr_cassettes/receiving_find.yml
282
+ - spec/support/vcr_cassettes/receiving_find_fail.yml
283
+ - spec/support/vcr_cassettes/receiving_find_with_params.yml
284
+ - spec/support/vcr_cassettes/receiving_holds.yml
285
+ - spec/support/vcr_cassettes/receiving_holds_fail.yml
286
+ - spec/support/vcr_cassettes/receiving_holds_with_params.yml
287
+ - spec/support/vcr_cassettes/receiving_instructions_recipients.yml
288
+ - spec/support/vcr_cassettes/receiving_instructions_recipients_fail.yml
289
+ - spec/support/vcr_cassettes/receiving_items.yml
290
+ - spec/support/vcr_cassettes/receiving_items_fail.yml
291
+ - spec/support/vcr_cassettes/receiving_shipments.yml
292
+ - spec/support/vcr_cassettes/receiving_shipments_fail.yml
293
+ - spec/support/vcr_cassettes/receiving_tracking.yml
294
+ - spec/support/vcr_cassettes/receiving_tracking_fail.yml
295
+ - spec/support/vcr_cassettes/receiving_update.yml
296
+ - spec/support/vcr_cassettes/receiving_update_fail.yml
297
+ - spec/support/vcr_cassettes/receiving_update_with_params.yml
298
+ - spec/support/vcr_cassettes/receivings_list.yml
299
+ - spec/support/vcr_cassettes/receivings_list_with_params.yml
300
+ - spec/support/vcr_cassettes/return.yml
301
+ - spec/support/vcr_cassettes/return_cancel.yml
302
+ - spec/support/vcr_cassettes/return_cancel_fail.yml
303
+ - spec/support/vcr_cassettes/return_find.yml
304
+ - spec/support/vcr_cassettes/return_find_fail.yml
305
+ - spec/support/vcr_cassettes/return_find_with_params.yml
306
+ - spec/support/vcr_cassettes/return_holds.yml
307
+ - spec/support/vcr_cassettes/return_holds_fail.yml
308
+ - spec/support/vcr_cassettes/return_holds_with_params.yml
309
+ - spec/support/vcr_cassettes/return_items.yml
310
+ - spec/support/vcr_cassettes/return_items_fail.yml
311
+ - spec/support/vcr_cassettes/return_labels.yml
312
+ - spec/support/vcr_cassettes/return_labels_fail.yml
313
+ - spec/support/vcr_cassettes/return_trackings.yml
314
+ - spec/support/vcr_cassettes/return_trackings_fail.yml
315
+ - spec/support/vcr_cassettes/returns_list.yml
316
+ - spec/support/vcr_cassettes/returns_list_with_params.yml
317
+ - spec/support/vcr_cassettes/secret.yml
318
+ - spec/support/vcr_cassettes/secret_find.yml
319
+ - spec/support/vcr_cassettes/secret_find_fail.yml
320
+ - spec/support/vcr_cassettes/secret_list.yml
321
+ - spec/support/vcr_cassettes/secret_remove.yml
322
+ - spec/support/vcr_cassettes/stock_with_params.yml
323
+ - spec/support/vcr_cassettes/stock_with_params_no_sku.yml
324
+ - spec/support/vcr_cassettes/stock_without_params.yml
325
+ - spec/support/vcr_cassettes/webhook.yml
326
+ - spec/support/vcr_cassettes/webhooks_create_insecure.yml
327
+ - spec/support/vcr_cassettes/webhooks_find.yml
328
+ - spec/support/vcr_cassettes/webhooks_find_fail.yml
329
+ - spec/support/vcr_cassettes/webhooks_list.yml
330
+ - spec/support/vcr_cassettes/webhooks_remove.yml
331
+ - spec/support/vcr_cassettes/webhooks_update.yml
332
+ - spec/support/vcr_cassettes/webhooks_update_fail.yml
333
+ - spec/unit/shipwire/response_spec.rb
198
334
  homepage: https://github.com/morbid-enterprises/shipwire
199
335
  licenses:
200
336
  - MIT
@@ -220,8 +356,146 @@ signing_key:
220
356
  specification_version: 4
221
357
  summary: Exchange data with Shipwire fullfillment
222
358
  test_files:
223
- - spec/shipwire/fulfillment_spec.rb
224
- - spec/shipwire/inventory_spec.rb
225
- - spec/shipwire/shipping_rate_spec.rb
226
- - spec/shipwire/tracking_spec.rb
359
+ - spec/features/access_spec.rb
360
+ - spec/features/orders_spec.rb
361
+ - spec/features/product_types_spec.rb
362
+ - spec/features/products_spec.rb
363
+ - spec/features/rate_spec.rb
364
+ - spec/features/receivings_spec.rb
365
+ - spec/features/returns_spec.rb
366
+ - spec/features/secret_spec.rb
367
+ - spec/features/stock_spec.rb
368
+ - spec/features/webhooks_spec.rb
227
369
  - spec/spec_helper.rb
370
+ - spec/support/shipwire.rb
371
+ - spec/support/vcr.rb
372
+ - spec/support/vcr_cassettes/credentials_incorrect.yml
373
+ - spec/support/vcr_cassettes/credentials_missing.yml
374
+ - spec/support/vcr_cassettes/order.yml
375
+ - spec/support/vcr_cassettes/order_cancel.yml
376
+ - spec/support/vcr_cassettes/order_cancel_fail.yml
377
+ - spec/support/vcr_cassettes/order_find.yml
378
+ - spec/support/vcr_cassettes/order_find_fail.yml
379
+ - spec/support/vcr_cassettes/order_find_with_params.yml
380
+ - spec/support/vcr_cassettes/order_holds.yml
381
+ - spec/support/vcr_cassettes/order_holds_fail.yml
382
+ - spec/support/vcr_cassettes/order_holds_with_params.yml
383
+ - spec/support/vcr_cassettes/order_items.yml
384
+ - spec/support/vcr_cassettes/order_items_fail.yml
385
+ - spec/support/vcr_cassettes/order_returns.yml
386
+ - spec/support/vcr_cassettes/order_returns_fail.yml
387
+ - spec/support/vcr_cassettes/order_trackings.yml
388
+ - spec/support/vcr_cassettes/order_trackings_fail.yml
389
+ - spec/support/vcr_cassettes/order_update.yml
390
+ - spec/support/vcr_cassettes/order_update_fail.yml
391
+ - spec/support/vcr_cassettes/order_update_with_params.yml
392
+ - spec/support/vcr_cassettes/order_with_warnings.yml
393
+ - spec/support/vcr_cassettes/orders_list.yml
394
+ - spec/support/vcr_cassettes/orders_list_with_params.yml
395
+ - spec/support/vcr_cassettes/product.yml
396
+ - spec/support/vcr_cassettes/product_base.yml
397
+ - spec/support/vcr_cassettes/product_base_find.yml
398
+ - spec/support/vcr_cassettes/product_base_find_fail.yml
399
+ - spec/support/vcr_cassettes/product_base_retire_id.yml
400
+ - spec/support/vcr_cassettes/product_base_retire_nonexistent.yml
401
+ - spec/support/vcr_cassettes/product_base_update.yml
402
+ - spec/support/vcr_cassettes/product_base_update_fail.yml
403
+ - spec/support/vcr_cassettes/product_create_fail_with_invalid_classification.yml
404
+ - spec/support/vcr_cassettes/product_find.yml
405
+ - spec/support/vcr_cassettes/product_find_fail.yml
406
+ - spec/support/vcr_cassettes/product_insert.yml
407
+ - spec/support/vcr_cassettes/product_insert_find.yml
408
+ - spec/support/vcr_cassettes/product_insert_find_fail.yml
409
+ - spec/support/vcr_cassettes/product_insert_retire_id.yml
410
+ - spec/support/vcr_cassettes/product_insert_retire_nonexistent.yml
411
+ - spec/support/vcr_cassettes/product_insert_update.yml
412
+ - spec/support/vcr_cassettes/product_insert_update_fail.yml
413
+ - spec/support/vcr_cassettes/product_kit.yml
414
+ - spec/support/vcr_cassettes/product_kit_find.yml
415
+ - spec/support/vcr_cassettes/product_kit_find_fail.yml
416
+ - spec/support/vcr_cassettes/product_kit_retire_id.yml
417
+ - spec/support/vcr_cassettes/product_kit_retire_nonexistent.yml
418
+ - spec/support/vcr_cassettes/product_kit_update.yml
419
+ - spec/support/vcr_cassettes/product_kit_update_fail.yml
420
+ - spec/support/vcr_cassettes/product_multiple_create_fail.yml
421
+ - spec/support/vcr_cassettes/product_multiple_create_success.yml
422
+ - spec/support/vcr_cassettes/product_retire_id.yml
423
+ - spec/support/vcr_cassettes/product_retire_nonexistent.yml
424
+ - spec/support/vcr_cassettes/product_update.yml
425
+ - spec/support/vcr_cassettes/product_update_fail.yml
426
+ - spec/support/vcr_cassettes/product_virtual_kit.yml
427
+ - spec/support/vcr_cassettes/product_virtual_kit_find.yml
428
+ - spec/support/vcr_cassettes/product_virtual_kit_find_fail.yml
429
+ - spec/support/vcr_cassettes/product_virtual_kit_retire_id.yml
430
+ - spec/support/vcr_cassettes/product_virtual_kit_retire_nonexistent.yml
431
+ - spec/support/vcr_cassettes/product_virtual_kit_update.yml
432
+ - spec/support/vcr_cassettes/product_virtual_kit_update_fail.yml
433
+ - spec/support/vcr_cassettes/products_base_list.yml
434
+ - spec/support/vcr_cassettes/products_base_list_with_params.yml
435
+ - spec/support/vcr_cassettes/products_insert_list.yml
436
+ - spec/support/vcr_cassettes/products_insert_list_with_params.yml
437
+ - spec/support/vcr_cassettes/products_kit_list.yml
438
+ - spec/support/vcr_cassettes/products_kit_list_with_params.yml
439
+ - spec/support/vcr_cassettes/products_list.yml
440
+ - spec/support/vcr_cassettes/products_list_with_params.yml
441
+ - spec/support/vcr_cassettes/products_virtual_kit_list.yml
442
+ - spec/support/vcr_cassettes/products_virtual_kit_list_with_params.yml
443
+ - spec/support/vcr_cassettes/rate_find.yml
444
+ - spec/support/vcr_cassettes/rate_find_fail.yml
445
+ - spec/support/vcr_cassettes/receiving.yml
446
+ - spec/support/vcr_cassettes/receiving_cancel.yml
447
+ - spec/support/vcr_cassettes/receiving_cancel_label.yml
448
+ - spec/support/vcr_cassettes/receiving_cancel_label_nonexistent.yml
449
+ - spec/support/vcr_cassettes/receiving_find.yml
450
+ - spec/support/vcr_cassettes/receiving_find_fail.yml
451
+ - spec/support/vcr_cassettes/receiving_find_with_params.yml
452
+ - spec/support/vcr_cassettes/receiving_holds.yml
453
+ - spec/support/vcr_cassettes/receiving_holds_fail.yml
454
+ - spec/support/vcr_cassettes/receiving_holds_with_params.yml
455
+ - spec/support/vcr_cassettes/receiving_instructions_recipients.yml
456
+ - spec/support/vcr_cassettes/receiving_instructions_recipients_fail.yml
457
+ - spec/support/vcr_cassettes/receiving_items.yml
458
+ - spec/support/vcr_cassettes/receiving_items_fail.yml
459
+ - spec/support/vcr_cassettes/receiving_shipments.yml
460
+ - spec/support/vcr_cassettes/receiving_shipments_fail.yml
461
+ - spec/support/vcr_cassettes/receiving_tracking.yml
462
+ - spec/support/vcr_cassettes/receiving_tracking_fail.yml
463
+ - spec/support/vcr_cassettes/receiving_update.yml
464
+ - spec/support/vcr_cassettes/receiving_update_fail.yml
465
+ - spec/support/vcr_cassettes/receiving_update_with_params.yml
466
+ - spec/support/vcr_cassettes/receivings_list.yml
467
+ - spec/support/vcr_cassettes/receivings_list_with_params.yml
468
+ - spec/support/vcr_cassettes/return.yml
469
+ - spec/support/vcr_cassettes/return_cancel.yml
470
+ - spec/support/vcr_cassettes/return_cancel_fail.yml
471
+ - spec/support/vcr_cassettes/return_find.yml
472
+ - spec/support/vcr_cassettes/return_find_fail.yml
473
+ - spec/support/vcr_cassettes/return_find_with_params.yml
474
+ - spec/support/vcr_cassettes/return_holds.yml
475
+ - spec/support/vcr_cassettes/return_holds_fail.yml
476
+ - spec/support/vcr_cassettes/return_holds_with_params.yml
477
+ - spec/support/vcr_cassettes/return_items.yml
478
+ - spec/support/vcr_cassettes/return_items_fail.yml
479
+ - spec/support/vcr_cassettes/return_labels.yml
480
+ - spec/support/vcr_cassettes/return_labels_fail.yml
481
+ - spec/support/vcr_cassettes/return_trackings.yml
482
+ - spec/support/vcr_cassettes/return_trackings_fail.yml
483
+ - spec/support/vcr_cassettes/returns_list.yml
484
+ - spec/support/vcr_cassettes/returns_list_with_params.yml
485
+ - spec/support/vcr_cassettes/secret.yml
486
+ - spec/support/vcr_cassettes/secret_find.yml
487
+ - spec/support/vcr_cassettes/secret_find_fail.yml
488
+ - spec/support/vcr_cassettes/secret_list.yml
489
+ - spec/support/vcr_cassettes/secret_remove.yml
490
+ - spec/support/vcr_cassettes/stock_with_params.yml
491
+ - spec/support/vcr_cassettes/stock_with_params_no_sku.yml
492
+ - spec/support/vcr_cassettes/stock_without_params.yml
493
+ - spec/support/vcr_cassettes/webhook.yml
494
+ - spec/support/vcr_cassettes/webhooks_create_insecure.yml
495
+ - spec/support/vcr_cassettes/webhooks_find.yml
496
+ - spec/support/vcr_cassettes/webhooks_find_fail.yml
497
+ - spec/support/vcr_cassettes/webhooks_list.yml
498
+ - spec/support/vcr_cassettes/webhooks_remove.yml
499
+ - spec/support/vcr_cassettes/webhooks_update.yml
500
+ - spec/support/vcr_cassettes/webhooks_update_fail.yml
501
+ - spec/unit/shipwire/response_spec.rb