shopify_api 9.2.0 → 12.2.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 (774) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +1 -1
  3. data/.github/ISSUE_TEMPLATE.md +35 -0
  4. data/.github/dependabot.yml +20 -0
  5. data/.github/pull_request_template.md +20 -0
  6. data/.github/workflows/build.yml +42 -0
  7. data/.github/workflows/cla.yml +22 -0
  8. data/.github/workflows/close-waiting-for-response-issues.yml +20 -0
  9. data/.github/workflows/remove-labels-on-activity.yml +16 -0
  10. data/.github/workflows/stale.yml +32 -0
  11. data/.rubocop.yml +56 -5
  12. data/BREAKING_CHANGES_FOR_OLDER_VERSIONS.md +110 -0
  13. data/CHANGELOG.md +300 -201
  14. data/CONTRIBUTING.md +4 -3
  15. data/Gemfile +7 -4
  16. data/Gemfile.lock +154 -0
  17. data/LICENSE +2 -2
  18. data/README.md +83 -581
  19. data/RELEASING.md +19 -0
  20. data/Rakefile +15 -43
  21. data/SECURITY.md +2 -2
  22. data/bin/tapioca +29 -0
  23. data/dev.yml +32 -0
  24. data/docs/README.md +13 -0
  25. data/docs/getting_started.md +53 -0
  26. data/docs/issues.md +39 -0
  27. data/docs/usage/graphql.md +115 -0
  28. data/docs/usage/graphql_storefront.md +42 -0
  29. data/docs/usage/oauth.md +105 -0
  30. data/docs/usage/rest.md +137 -0
  31. data/docs/usage/session_storage.md +46 -0
  32. data/docs/usage/webhooks.md +98 -0
  33. data/lib/shopify_api/admin_versions.rb +19 -0
  34. data/lib/shopify_api/auth/associated_user.rb +36 -0
  35. data/lib/shopify_api/auth/auth_scopes.rb +75 -0
  36. data/lib/shopify_api/auth/file_session_storage.rb +72 -0
  37. data/lib/shopify_api/auth/jwt_payload.rb +83 -0
  38. data/lib/shopify_api/auth/oauth/auth_query.rb +47 -0
  39. data/lib/shopify_api/auth/oauth/session_cookie.rb +28 -0
  40. data/lib/shopify_api/auth/oauth.rb +138 -0
  41. data/lib/shopify_api/auth/session.rb +119 -0
  42. data/lib/shopify_api/auth/session_storage.rb +30 -0
  43. data/lib/shopify_api/auth.rb +26 -0
  44. data/lib/shopify_api/clients/graphql/admin.rb +15 -0
  45. data/lib/shopify_api/clients/graphql/client.rb +40 -0
  46. data/lib/shopify_api/clients/graphql/storefront.rb +35 -0
  47. data/lib/shopify_api/clients/http_client.rb +100 -0
  48. data/lib/shopify_api/clients/http_request.rb +35 -0
  49. data/lib/shopify_api/clients/http_response.rb +66 -0
  50. data/lib/shopify_api/clients/rest/admin.rb +118 -0
  51. data/lib/shopify_api/context.rb +163 -0
  52. data/lib/shopify_api/errors/context_not_setup_error.rb +9 -0
  53. data/lib/shopify_api/errors/cookie_not_found_error.rb +9 -0
  54. data/lib/shopify_api/errors/http_response_error.rb +19 -0
  55. data/lib/shopify_api/errors/invalid_graphql_request_error.rb +9 -0
  56. data/lib/shopify_api/errors/invalid_http_request_error.rb +9 -0
  57. data/lib/shopify_api/errors/invalid_jwt_token_error.rb +9 -0
  58. data/lib/shopify_api/errors/invalid_oauth_error.rb +9 -0
  59. data/lib/shopify_api/errors/invalid_webhook_error.rb +9 -0
  60. data/lib/shopify_api/errors/invalid_webhook_registration_error.rb +9 -0
  61. data/lib/shopify_api/errors/max_http_retries_exceeded_error.rb +9 -0
  62. data/lib/shopify_api/errors/missing_jwt_token_error.rb +9 -0
  63. data/lib/shopify_api/errors/missing_required_argument_error.rb +9 -0
  64. data/lib/shopify_api/errors/no_active_session_error.rb +9 -0
  65. data/lib/shopify_api/errors/no_session_cookie_error.rb +9 -0
  66. data/lib/shopify_api/errors/no_webhook_handler.rb +9 -0
  67. data/lib/shopify_api/errors/private_app_error.rb +9 -0
  68. data/lib/shopify_api/errors/request_access_token_error.rb +9 -0
  69. data/lib/shopify_api/errors/session_not_found_error.rb +9 -0
  70. data/lib/shopify_api/errors/session_storage_error.rb +9 -0
  71. data/lib/shopify_api/errors/unsupported_oauth_error.rb +9 -0
  72. data/lib/shopify_api/errors/unsupported_version_error.rb +9 -0
  73. data/lib/shopify_api/errors/webhook_registration_error.rb +9 -0
  74. data/lib/shopify_api/inflector.rb +17 -0
  75. data/lib/shopify_api/rest/base.rb +387 -0
  76. data/lib/shopify_api/rest/base_errors.rb +32 -0
  77. data/lib/shopify_api/rest/resources/2022_01/abandoned_checkout.rb +190 -0
  78. data/lib/shopify_api/rest/resources/2022_01/access_scope.rb +58 -0
  79. data/lib/shopify_api/rest/resources/2022_01/android_pay_key.rb +77 -0
  80. data/lib/shopify_api/rest/resources/2022_01/apple_pay_certificate.rb +105 -0
  81. data/lib/shopify_api/rest/resources/2022_01/application_charge.rb +104 -0
  82. data/lib/shopify_api/rest/resources/2022_01/application_credit.rb +87 -0
  83. data/lib/shopify_api/rest/resources/2022_01/article.rb +265 -0
  84. data/lib/shopify_api/rest/resources/2022_01/asset.rb +118 -0
  85. data/lib/shopify_api/rest/resources/2022_01/assigned_fulfillment_order.rb +79 -0
  86. data/lib/shopify_api/rest/resources/2022_01/balance.rb +50 -0
  87. data/lib/shopify_api/rest/resources/2022_01/blog.rb +162 -0
  88. data/lib/shopify_api/rest/resources/2022_01/cancellation_request.rb +83 -0
  89. data/lib/shopify_api/rest/resources/2022_01/carrier_service.rb +116 -0
  90. data/lib/shopify_api/rest/resources/2022_01/checkout.rb +209 -0
  91. data/lib/shopify_api/rest/resources/2022_01/collect.rb +142 -0
  92. data/lib/shopify_api/rest/resources/2022_01/collection.rb +110 -0
  93. data/lib/shopify_api/rest/resources/2022_01/collection_listing.rb +155 -0
  94. data/lib/shopify_api/rest/resources/2022_01/comment.rb +283 -0
  95. data/lib/shopify_api/rest/resources/2022_01/country.rb +137 -0
  96. data/lib/shopify_api/rest/resources/2022_01/currency.rb +57 -0
  97. data/lib/shopify_api/rest/resources/2022_01/custom_collection.rb +187 -0
  98. data/lib/shopify_api/rest/resources/2022_01/customer.rb +318 -0
  99. data/lib/shopify_api/rest/resources/2022_01/customer_address.rb +201 -0
  100. data/lib/shopify_api/rest/resources/2022_01/customer_saved_search.rb +169 -0
  101. data/lib/shopify_api/rest/resources/2022_01/deprecated_api_call.rb +57 -0
  102. data/lib/shopify_api/rest/resources/2022_01/discount_code.rb +219 -0
  103. data/lib/shopify_api/rest/resources/2022_01/dispute.rb +111 -0
  104. data/lib/shopify_api/rest/resources/2022_01/draft_order.rb +275 -0
  105. data/lib/shopify_api/rest/resources/2022_01/event.rb +148 -0
  106. data/lib/shopify_api/rest/resources/2022_01/fulfillment.rb +268 -0
  107. data/lib/shopify_api/rest/resources/2022_01/fulfillment_event.rb +166 -0
  108. data/lib/shopify_api/rest/resources/2022_01/fulfillment_order.rb +281 -0
  109. data/lib/shopify_api/rest/resources/2022_01/fulfillment_request.rb +87 -0
  110. data/lib/shopify_api/rest/resources/2022_01/fulfillment_service.rb +130 -0
  111. data/lib/shopify_api/rest/resources/2022_01/gift_card.rb +215 -0
  112. data/lib/shopify_api/rest/resources/2022_01/gift_card_adjustment.rb +118 -0
  113. data/lib/shopify_api/rest/resources/2022_01/image.rb +157 -0
  114. data/lib/shopify_api/rest/resources/2022_01/inventory_item.rb +108 -0
  115. data/lib/shopify_api/rest/resources/2022_01/inventory_level.rb +179 -0
  116. data/lib/shopify_api/rest/resources/2022_01/location.rb +167 -0
  117. data/lib/shopify_api/rest/resources/2022_01/locations_for_move.rb +56 -0
  118. data/lib/shopify_api/rest/resources/2022_01/marketing_event.rb +209 -0
  119. data/lib/shopify_api/rest/resources/2022_01/metafield.rb +349 -0
  120. data/lib/shopify_api/rest/resources/2022_01/mobile_platform_application.rb +110 -0
  121. data/lib/shopify_api/rest/resources/2022_01/order.rb +473 -0
  122. data/lib/shopify_api/rest/resources/2022_01/order_risk.rb +135 -0
  123. data/lib/shopify_api/rest/resources/2022_01/page.rb +194 -0
  124. data/lib/shopify_api/rest/resources/2022_01/payment.rb +140 -0
  125. data/lib/shopify_api/rest/resources/2022_01/payment_gateway.rb +143 -0
  126. data/lib/shopify_api/rest/resources/2022_01/payment_transaction.rb +107 -0
  127. data/lib/shopify_api/rest/resources/2022_01/payout.rb +97 -0
  128. data/lib/shopify_api/rest/resources/2022_01/policy.rb +69 -0
  129. data/lib/shopify_api/rest/resources/2022_01/price_rule.rb +223 -0
  130. data/lib/shopify_api/rest/resources/2022_01/product.rb +223 -0
  131. data/lib/shopify_api/rest/resources/2022_01/product_listing.rb +196 -0
  132. data/lib/shopify_api/rest/resources/2022_01/product_resource_feedback.rb +88 -0
  133. data/lib/shopify_api/rest/resources/2022_01/province.rb +132 -0
  134. data/lib/shopify_api/rest/resources/2022_01/recurring_application_charge.rb +167 -0
  135. data/lib/shopify_api/rest/resources/2022_01/redirect.rb +139 -0
  136. data/lib/shopify_api/rest/resources/2022_01/refund.rb +151 -0
  137. data/lib/shopify_api/rest/resources/2022_01/report.rb +121 -0
  138. data/lib/shopify_api/rest/resources/2022_01/resource_feedback.rb +73 -0
  139. data/lib/shopify_api/rest/resources/2022_01/script_tag.rb +155 -0
  140. data/lib/shopify_api/rest/resources/2022_01/shipping_zone.rb +83 -0
  141. data/lib/shopify_api/rest/resources/2022_01/shop.rb +218 -0
  142. data/lib/shopify_api/rest/resources/2022_01/smart_collection.rb +216 -0
  143. data/lib/shopify_api/rest/resources/2022_01/storefront_access_token.rb +87 -0
  144. data/lib/shopify_api/rest/resources/2022_01/tender_transaction.rb +93 -0
  145. data/lib/shopify_api/rest/resources/2022_01/theme.rb +120 -0
  146. data/lib/shopify_api/rest/resources/2022_01/transaction.rb +181 -0
  147. data/lib/shopify_api/rest/resources/2022_01/usage_charge.rb +97 -0
  148. data/lib/shopify_api/rest/resources/2022_01/user.rb +138 -0
  149. data/lib/shopify_api/rest/resources/2022_01/variant.rb +212 -0
  150. data/lib/shopify_api/rest/resources/2022_01/webhook.rb +168 -0
  151. data/lib/shopify_api/rest/resources/2022_04/abandoned_checkout.rb +190 -0
  152. data/lib/shopify_api/rest/resources/2022_04/access_scope.rb +58 -0
  153. data/lib/shopify_api/rest/resources/2022_04/android_pay_key.rb +77 -0
  154. data/lib/shopify_api/rest/resources/2022_04/apple_pay_certificate.rb +105 -0
  155. data/lib/shopify_api/rest/resources/2022_04/application_charge.rb +104 -0
  156. data/lib/shopify_api/rest/resources/2022_04/application_credit.rb +87 -0
  157. data/lib/shopify_api/rest/resources/2022_04/article.rb +265 -0
  158. data/lib/shopify_api/rest/resources/2022_04/asset.rb +118 -0
  159. data/lib/shopify_api/rest/resources/2022_04/assigned_fulfillment_order.rb +79 -0
  160. data/lib/shopify_api/rest/resources/2022_04/balance.rb +50 -0
  161. data/lib/shopify_api/rest/resources/2022_04/blog.rb +162 -0
  162. data/lib/shopify_api/rest/resources/2022_04/cancellation_request.rb +83 -0
  163. data/lib/shopify_api/rest/resources/2022_04/carrier_service.rb +116 -0
  164. data/lib/shopify_api/rest/resources/2022_04/checkout.rb +209 -0
  165. data/lib/shopify_api/rest/resources/2022_04/collect.rb +142 -0
  166. data/lib/shopify_api/rest/resources/2022_04/collection.rb +110 -0
  167. data/lib/shopify_api/rest/resources/2022_04/collection_listing.rb +155 -0
  168. data/lib/shopify_api/rest/resources/2022_04/comment.rb +283 -0
  169. data/lib/shopify_api/rest/resources/2022_04/country.rb +137 -0
  170. data/lib/shopify_api/rest/resources/2022_04/currency.rb +57 -0
  171. data/lib/shopify_api/rest/resources/2022_04/custom_collection.rb +187 -0
  172. data/lib/shopify_api/rest/resources/2022_04/customer.rb +321 -0
  173. data/lib/shopify_api/rest/resources/2022_04/customer_address.rb +201 -0
  174. data/lib/shopify_api/rest/resources/2022_04/customer_saved_search.rb +169 -0
  175. data/lib/shopify_api/rest/resources/2022_04/deprecated_api_call.rb +57 -0
  176. data/lib/shopify_api/rest/resources/2022_04/discount_code.rb +219 -0
  177. data/lib/shopify_api/rest/resources/2022_04/dispute.rb +111 -0
  178. data/lib/shopify_api/rest/resources/2022_04/draft_order.rb +275 -0
  179. data/lib/shopify_api/rest/resources/2022_04/event.rb +148 -0
  180. data/lib/shopify_api/rest/resources/2022_04/fulfillment.rb +268 -0
  181. data/lib/shopify_api/rest/resources/2022_04/fulfillment_event.rb +166 -0
  182. data/lib/shopify_api/rest/resources/2022_04/fulfillment_order.rb +284 -0
  183. data/lib/shopify_api/rest/resources/2022_04/fulfillment_request.rb +87 -0
  184. data/lib/shopify_api/rest/resources/2022_04/fulfillment_service.rb +130 -0
  185. data/lib/shopify_api/rest/resources/2022_04/gift_card.rb +215 -0
  186. data/lib/shopify_api/rest/resources/2022_04/gift_card_adjustment.rb +118 -0
  187. data/lib/shopify_api/rest/resources/2022_04/image.rb +157 -0
  188. data/lib/shopify_api/rest/resources/2022_04/inventory_item.rb +108 -0
  189. data/lib/shopify_api/rest/resources/2022_04/inventory_level.rb +179 -0
  190. data/lib/shopify_api/rest/resources/2022_04/location.rb +167 -0
  191. data/lib/shopify_api/rest/resources/2022_04/locations_for_move.rb +56 -0
  192. data/lib/shopify_api/rest/resources/2022_04/marketing_event.rb +209 -0
  193. data/lib/shopify_api/rest/resources/2022_04/metafield.rb +342 -0
  194. data/lib/shopify_api/rest/resources/2022_04/mobile_platform_application.rb +110 -0
  195. data/lib/shopify_api/rest/resources/2022_04/order.rb +473 -0
  196. data/lib/shopify_api/rest/resources/2022_04/order_risk.rb +135 -0
  197. data/lib/shopify_api/rest/resources/2022_04/page.rb +194 -0
  198. data/lib/shopify_api/rest/resources/2022_04/payment.rb +140 -0
  199. data/lib/shopify_api/rest/resources/2022_04/payment_gateway.rb +143 -0
  200. data/lib/shopify_api/rest/resources/2022_04/payment_transaction.rb +107 -0
  201. data/lib/shopify_api/rest/resources/2022_04/payout.rb +97 -0
  202. data/lib/shopify_api/rest/resources/2022_04/policy.rb +69 -0
  203. data/lib/shopify_api/rest/resources/2022_04/price_rule.rb +223 -0
  204. data/lib/shopify_api/rest/resources/2022_04/product.rb +223 -0
  205. data/lib/shopify_api/rest/resources/2022_04/product_listing.rb +196 -0
  206. data/lib/shopify_api/rest/resources/2022_04/product_resource_feedback.rb +88 -0
  207. data/lib/shopify_api/rest/resources/2022_04/province.rb +132 -0
  208. data/lib/shopify_api/rest/resources/2022_04/recurring_application_charge.rb +167 -0
  209. data/lib/shopify_api/rest/resources/2022_04/redirect.rb +139 -0
  210. data/lib/shopify_api/rest/resources/2022_04/refund.rb +151 -0
  211. data/lib/shopify_api/rest/resources/2022_04/report.rb +121 -0
  212. data/lib/shopify_api/rest/resources/2022_04/resource_feedback.rb +73 -0
  213. data/lib/shopify_api/rest/resources/2022_04/script_tag.rb +155 -0
  214. data/lib/shopify_api/rest/resources/2022_04/shipping_zone.rb +83 -0
  215. data/lib/shopify_api/rest/resources/2022_04/shop.rb +218 -0
  216. data/lib/shopify_api/rest/resources/2022_04/smart_collection.rb +216 -0
  217. data/lib/shopify_api/rest/resources/2022_04/storefront_access_token.rb +87 -0
  218. data/lib/shopify_api/rest/resources/2022_04/tender_transaction.rb +93 -0
  219. data/lib/shopify_api/rest/resources/2022_04/theme.rb +120 -0
  220. data/lib/shopify_api/rest/resources/2022_04/transaction.rb +181 -0
  221. data/lib/shopify_api/rest/resources/2022_04/usage_charge.rb +97 -0
  222. data/lib/shopify_api/rest/resources/2022_04/user.rb +138 -0
  223. data/lib/shopify_api/rest/resources/2022_04/variant.rb +212 -0
  224. data/lib/shopify_api/rest/resources/2022_04/webhook.rb +168 -0
  225. data/lib/shopify_api/rest/resources/2022_07/abandoned_checkout.rb +190 -0
  226. data/lib/shopify_api/rest/resources/2022_07/access_scope.rb +58 -0
  227. data/lib/shopify_api/rest/resources/2022_07/android_pay_key.rb +77 -0
  228. data/lib/shopify_api/rest/resources/2022_07/apple_pay_certificate.rb +105 -0
  229. data/lib/shopify_api/rest/resources/2022_07/application_charge.rb +104 -0
  230. data/lib/shopify_api/rest/resources/2022_07/application_credit.rb +87 -0
  231. data/lib/shopify_api/rest/resources/2022_07/article.rb +265 -0
  232. data/lib/shopify_api/rest/resources/2022_07/asset.rb +118 -0
  233. data/lib/shopify_api/rest/resources/2022_07/assigned_fulfillment_order.rb +79 -0
  234. data/lib/shopify_api/rest/resources/2022_07/balance.rb +50 -0
  235. data/lib/shopify_api/rest/resources/2022_07/blog.rb +162 -0
  236. data/lib/shopify_api/rest/resources/2022_07/cancellation_request.rb +83 -0
  237. data/lib/shopify_api/rest/resources/2022_07/carrier_service.rb +113 -0
  238. data/lib/shopify_api/rest/resources/2022_07/checkout.rb +209 -0
  239. data/lib/shopify_api/rest/resources/2022_07/collect.rb +142 -0
  240. data/lib/shopify_api/rest/resources/2022_07/collection.rb +110 -0
  241. data/lib/shopify_api/rest/resources/2022_07/collection_listing.rb +155 -0
  242. data/lib/shopify_api/rest/resources/2022_07/comment.rb +283 -0
  243. data/lib/shopify_api/rest/resources/2022_07/country.rb +137 -0
  244. data/lib/shopify_api/rest/resources/2022_07/currency.rb +57 -0
  245. data/lib/shopify_api/rest/resources/2022_07/custom_collection.rb +187 -0
  246. data/lib/shopify_api/rest/resources/2022_07/customer.rb +321 -0
  247. data/lib/shopify_api/rest/resources/2022_07/customer_address.rb +201 -0
  248. data/lib/shopify_api/rest/resources/2022_07/customer_saved_search.rb +169 -0
  249. data/lib/shopify_api/rest/resources/2022_07/deprecated_api_call.rb +57 -0
  250. data/lib/shopify_api/rest/resources/2022_07/discount_code.rb +219 -0
  251. data/lib/shopify_api/rest/resources/2022_07/dispute.rb +111 -0
  252. data/lib/shopify_api/rest/resources/2022_07/dispute_evidence.rb +117 -0
  253. data/lib/shopify_api/rest/resources/2022_07/dispute_file_upload.rb +81 -0
  254. data/lib/shopify_api/rest/resources/2022_07/draft_order.rb +275 -0
  255. data/lib/shopify_api/rest/resources/2022_07/event.rb +148 -0
  256. data/lib/shopify_api/rest/resources/2022_07/fulfillment.rb +221 -0
  257. data/lib/shopify_api/rest/resources/2022_07/fulfillment_event.rb +166 -0
  258. data/lib/shopify_api/rest/resources/2022_07/fulfillment_order.rb +310 -0
  259. data/lib/shopify_api/rest/resources/2022_07/fulfillment_request.rb +87 -0
  260. data/lib/shopify_api/rest/resources/2022_07/fulfillment_service.rb +130 -0
  261. data/lib/shopify_api/rest/resources/2022_07/gift_card.rb +215 -0
  262. data/lib/shopify_api/rest/resources/2022_07/gift_card_adjustment.rb +118 -0
  263. data/lib/shopify_api/rest/resources/2022_07/image.rb +157 -0
  264. data/lib/shopify_api/rest/resources/2022_07/inventory_item.rb +108 -0
  265. data/lib/shopify_api/rest/resources/2022_07/inventory_level.rb +179 -0
  266. data/lib/shopify_api/rest/resources/2022_07/location.rb +167 -0
  267. data/lib/shopify_api/rest/resources/2022_07/locations_for_move.rb +56 -0
  268. data/lib/shopify_api/rest/resources/2022_07/marketing_event.rb +209 -0
  269. data/lib/shopify_api/rest/resources/2022_07/metafield.rb +342 -0
  270. data/lib/shopify_api/rest/resources/2022_07/mobile_platform_application.rb +110 -0
  271. data/lib/shopify_api/rest/resources/2022_07/order.rb +473 -0
  272. data/lib/shopify_api/rest/resources/2022_07/order_risk.rb +135 -0
  273. data/lib/shopify_api/rest/resources/2022_07/page.rb +194 -0
  274. data/lib/shopify_api/rest/resources/2022_07/payment.rb +140 -0
  275. data/lib/shopify_api/rest/resources/2022_07/payment_gateway.rb +143 -0
  276. data/lib/shopify_api/rest/resources/2022_07/payment_transaction.rb +107 -0
  277. data/lib/shopify_api/rest/resources/2022_07/payout.rb +97 -0
  278. data/lib/shopify_api/rest/resources/2022_07/policy.rb +69 -0
  279. data/lib/shopify_api/rest/resources/2022_07/price_rule.rb +223 -0
  280. data/lib/shopify_api/rest/resources/2022_07/product.rb +223 -0
  281. data/lib/shopify_api/rest/resources/2022_07/product_listing.rb +196 -0
  282. data/lib/shopify_api/rest/resources/2022_07/product_resource_feedback.rb +88 -0
  283. data/lib/shopify_api/rest/resources/2022_07/province.rb +132 -0
  284. data/lib/shopify_api/rest/resources/2022_07/recurring_application_charge.rb +167 -0
  285. data/lib/shopify_api/rest/resources/2022_07/redirect.rb +139 -0
  286. data/lib/shopify_api/rest/resources/2022_07/refund.rb +151 -0
  287. data/lib/shopify_api/rest/resources/2022_07/report.rb +121 -0
  288. data/lib/shopify_api/rest/resources/2022_07/resource_feedback.rb +73 -0
  289. data/lib/shopify_api/rest/resources/2022_07/script_tag.rb +155 -0
  290. data/lib/shopify_api/rest/resources/2022_07/shipping_zone.rb +83 -0
  291. data/lib/shopify_api/rest/resources/2022_07/shop.rb +218 -0
  292. data/lib/shopify_api/rest/resources/2022_07/smart_collection.rb +216 -0
  293. data/lib/shopify_api/rest/resources/2022_07/storefront_access_token.rb +87 -0
  294. data/lib/shopify_api/rest/resources/2022_07/tender_transaction.rb +93 -0
  295. data/lib/shopify_api/rest/resources/2022_07/theme.rb +120 -0
  296. data/lib/shopify_api/rest/resources/2022_07/transaction.rb +181 -0
  297. data/lib/shopify_api/rest/resources/2022_07/usage_charge.rb +97 -0
  298. data/lib/shopify_api/rest/resources/2022_07/user.rb +138 -0
  299. data/lib/shopify_api/rest/resources/2022_07/variant.rb +212 -0
  300. data/lib/shopify_api/rest/resources/2022_07/webhook.rb +168 -0
  301. data/lib/shopify_api/rest/resources/2022_10/abandoned_checkout.rb +190 -0
  302. data/lib/shopify_api/rest/resources/2022_10/access_scope.rb +58 -0
  303. data/lib/shopify_api/rest/resources/2022_10/android_pay_key.rb +77 -0
  304. data/lib/shopify_api/rest/resources/2022_10/apple_pay_certificate.rb +105 -0
  305. data/lib/shopify_api/rest/resources/2022_10/application_charge.rb +104 -0
  306. data/lib/shopify_api/rest/resources/2022_10/application_credit.rb +87 -0
  307. data/lib/shopify_api/rest/resources/2022_10/article.rb +265 -0
  308. data/lib/shopify_api/rest/resources/2022_10/asset.rb +118 -0
  309. data/lib/shopify_api/rest/resources/2022_10/assigned_fulfillment_order.rb +79 -0
  310. data/lib/shopify_api/rest/resources/2022_10/balance.rb +50 -0
  311. data/lib/shopify_api/rest/resources/2022_10/blog.rb +162 -0
  312. data/lib/shopify_api/rest/resources/2022_10/cancellation_request.rb +83 -0
  313. data/lib/shopify_api/rest/resources/2022_10/carrier_service.rb +113 -0
  314. data/lib/shopify_api/rest/resources/2022_10/checkout.rb +209 -0
  315. data/lib/shopify_api/rest/resources/2022_10/collect.rb +142 -0
  316. data/lib/shopify_api/rest/resources/2022_10/collection.rb +110 -0
  317. data/lib/shopify_api/rest/resources/2022_10/collection_listing.rb +155 -0
  318. data/lib/shopify_api/rest/resources/2022_10/comment.rb +283 -0
  319. data/lib/shopify_api/rest/resources/2022_10/country.rb +137 -0
  320. data/lib/shopify_api/rest/resources/2022_10/currency.rb +57 -0
  321. data/lib/shopify_api/rest/resources/2022_10/custom_collection.rb +187 -0
  322. data/lib/shopify_api/rest/resources/2022_10/customer.rb +321 -0
  323. data/lib/shopify_api/rest/resources/2022_10/customer_address.rb +201 -0
  324. data/lib/shopify_api/rest/resources/2022_10/customer_saved_search.rb +169 -0
  325. data/lib/shopify_api/rest/resources/2022_10/deprecated_api_call.rb +57 -0
  326. data/lib/shopify_api/rest/resources/2022_10/discount_code.rb +219 -0
  327. data/lib/shopify_api/rest/resources/2022_10/dispute.rb +111 -0
  328. data/lib/shopify_api/rest/resources/2022_10/dispute_evidence.rb +117 -0
  329. data/lib/shopify_api/rest/resources/2022_10/dispute_file_upload.rb +81 -0
  330. data/lib/shopify_api/rest/resources/2022_10/draft_order.rb +275 -0
  331. data/lib/shopify_api/rest/resources/2022_10/event.rb +148 -0
  332. data/lib/shopify_api/rest/resources/2022_10/fulfillment.rb +221 -0
  333. data/lib/shopify_api/rest/resources/2022_10/fulfillment_event.rb +166 -0
  334. data/lib/shopify_api/rest/resources/2022_10/fulfillment_order.rb +310 -0
  335. data/lib/shopify_api/rest/resources/2022_10/fulfillment_request.rb +87 -0
  336. data/lib/shopify_api/rest/resources/2022_10/fulfillment_service.rb +130 -0
  337. data/lib/shopify_api/rest/resources/2022_10/gift_card.rb +215 -0
  338. data/lib/shopify_api/rest/resources/2022_10/gift_card_adjustment.rb +118 -0
  339. data/lib/shopify_api/rest/resources/2022_10/image.rb +157 -0
  340. data/lib/shopify_api/rest/resources/2022_10/inventory_item.rb +108 -0
  341. data/lib/shopify_api/rest/resources/2022_10/inventory_level.rb +179 -0
  342. data/lib/shopify_api/rest/resources/2022_10/location.rb +167 -0
  343. data/lib/shopify_api/rest/resources/2022_10/locations_for_move.rb +56 -0
  344. data/lib/shopify_api/rest/resources/2022_10/marketing_event.rb +209 -0
  345. data/lib/shopify_api/rest/resources/2022_10/metafield.rb +342 -0
  346. data/lib/shopify_api/rest/resources/2022_10/mobile_platform_application.rb +110 -0
  347. data/lib/shopify_api/rest/resources/2022_10/order.rb +476 -0
  348. data/lib/shopify_api/rest/resources/2022_10/order_risk.rb +135 -0
  349. data/lib/shopify_api/rest/resources/2022_10/page.rb +194 -0
  350. data/lib/shopify_api/rest/resources/2022_10/payment.rb +140 -0
  351. data/lib/shopify_api/rest/resources/2022_10/payment_gateway.rb +143 -0
  352. data/lib/shopify_api/rest/resources/2022_10/payment_transaction.rb +107 -0
  353. data/lib/shopify_api/rest/resources/2022_10/payout.rb +97 -0
  354. data/lib/shopify_api/rest/resources/2022_10/policy.rb +69 -0
  355. data/lib/shopify_api/rest/resources/2022_10/price_rule.rb +223 -0
  356. data/lib/shopify_api/rest/resources/2022_10/product.rb +223 -0
  357. data/lib/shopify_api/rest/resources/2022_10/product_listing.rb +196 -0
  358. data/lib/shopify_api/rest/resources/2022_10/product_resource_feedback.rb +88 -0
  359. data/lib/shopify_api/rest/resources/2022_10/province.rb +132 -0
  360. data/lib/shopify_api/rest/resources/2022_10/recurring_application_charge.rb +167 -0
  361. data/lib/shopify_api/rest/resources/2022_10/redirect.rb +139 -0
  362. data/lib/shopify_api/rest/resources/2022_10/refund.rb +151 -0
  363. data/lib/shopify_api/rest/resources/2022_10/report.rb +121 -0
  364. data/lib/shopify_api/rest/resources/2022_10/resource_feedback.rb +73 -0
  365. data/lib/shopify_api/rest/resources/2022_10/script_tag.rb +155 -0
  366. data/lib/shopify_api/rest/resources/2022_10/shipping_zone.rb +83 -0
  367. data/lib/shopify_api/rest/resources/2022_10/shop.rb +221 -0
  368. data/lib/shopify_api/rest/resources/2022_10/smart_collection.rb +216 -0
  369. data/lib/shopify_api/rest/resources/2022_10/storefront_access_token.rb +87 -0
  370. data/lib/shopify_api/rest/resources/2022_10/tender_transaction.rb +93 -0
  371. data/lib/shopify_api/rest/resources/2022_10/theme.rb +120 -0
  372. data/lib/shopify_api/rest/resources/2022_10/transaction.rb +181 -0
  373. data/lib/shopify_api/rest/resources/2022_10/usage_charge.rb +97 -0
  374. data/lib/shopify_api/rest/resources/2022_10/user.rb +138 -0
  375. data/lib/shopify_api/rest/resources/2022_10/variant.rb +212 -0
  376. data/lib/shopify_api/rest/resources/2022_10/webhook.rb +168 -0
  377. data/lib/shopify_api/utils/graphql_proxy.rb +52 -0
  378. data/lib/shopify_api/utils/hmac_validator.rb +44 -0
  379. data/lib/shopify_api/utils/http_utils.rb +17 -0
  380. data/lib/shopify_api/utils/session_utils.rb +135 -0
  381. data/lib/shopify_api/utils/verifiable_query.rb +18 -0
  382. data/lib/shopify_api/version.rb +4 -1
  383. data/lib/shopify_api/webhooks/handler.rb +15 -0
  384. data/lib/shopify_api/webhooks/register_result.rb +14 -0
  385. data/lib/shopify_api/webhooks/registration.rb +73 -0
  386. data/lib/shopify_api/webhooks/registrations/event_bridge.rb +61 -0
  387. data/lib/shopify_api/webhooks/registrations/http.rb +72 -0
  388. data/lib/shopify_api/webhooks/registrations/pub_sub.rb +65 -0
  389. data/lib/shopify_api/webhooks/registry.rb +215 -0
  390. data/lib/shopify_api/webhooks/request.rb +56 -0
  391. data/lib/shopify_api.rb +20 -30
  392. data/service.yml +0 -7
  393. data/shipit.rubygems.yml +1 -1
  394. data/shopify_api.gemspec +33 -21
  395. data/sorbet/config +3 -0
  396. data/sorbet/rbi/gems/activesupport@7.0.1.rbi +654 -0
  397. data/sorbet/rbi/gems/addressable@2.8.0.rbi +290 -0
  398. data/sorbet/rbi/gems/ast@2.4.2.rbi +54 -0
  399. data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
  400. data/sorbet/rbi/gems/concurrent-ruby@1.1.9.rbi +2401 -0
  401. data/sorbet/rbi/gems/crack@0.4.5.rbi +57 -0
  402. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +185 -0
  403. data/sorbet/rbi/gems/fakefs@1.4.1.rbi +571 -0
  404. data/sorbet/rbi/gems/hash_diff@1.0.0.rbi +47 -0
  405. data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +82 -0
  406. data/sorbet/rbi/gems/httparty@0.20.0.rbi +573 -0
  407. data/sorbet/rbi/gems/i18n@1.8.11.rbi +25 -0
  408. data/sorbet/rbi/gems/jwt@2.3.0.rbi +437 -0
  409. data/sorbet/rbi/gems/method_source@1.0.0.rbi +8 -0
  410. data/sorbet/rbi/gems/mime-types-data@3.2022.0105.rbi +73 -0
  411. data/sorbet/rbi/gems/mime-types@3.4.1.rbi +295 -0
  412. data/sorbet/rbi/gems/minitest@5.15.0.rbi +541 -0
  413. data/sorbet/rbi/gems/mocha@1.13.0.rbi +986 -0
  414. data/sorbet/rbi/gems/multi_xml@0.6.0.rbi +36 -0
  415. data/sorbet/rbi/gems/oj@3.13.11.rbi +274 -0
  416. data/sorbet/rbi/gems/openssl@3.0.0.rbi +581 -0
  417. data/sorbet/rbi/gems/parallel@1.21.0.rbi +113 -0
  418. data/sorbet/rbi/gems/parser@3.1.0.0.rbi +1741 -0
  419. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  420. data/sorbet/rbi/gems/public_suffix@4.0.6.rbi +145 -0
  421. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +157 -0
  422. data/sorbet/rbi/gems/rake@13.0.6.rbi +814 -0
  423. data/sorbet/rbi/gems/rbi@0.0.11.rbi +1646 -0
  424. data/sorbet/rbi/gems/regexp_parser@2.2.0.rbi +1130 -0
  425. data/sorbet/rbi/gems/rexml@3.2.5.rbi +709 -0
  426. data/sorbet/rbi/gems/rubocop-ast@1.15.1.rbi +1921 -0
  427. data/sorbet/rbi/gems/rubocop-shopify@2.4.0.rbi +8 -0
  428. data/sorbet/rbi/gems/rubocop-sorbet@0.6.5.rbi +295 -0
  429. data/sorbet/rbi/gems/rubocop@1.25.1.rbi +13507 -0
  430. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +405 -0
  431. data/sorbet/rbi/gems/securerandom@0.1.1.rbi +10 -0
  432. data/sorbet/rbi/gems/spoom@1.1.8.rbi +1252 -0
  433. data/sorbet/rbi/gems/tapioca@0.6.3.rbi +1238 -0
  434. data/sorbet/rbi/gems/thor@1.2.1.rbi +844 -0
  435. data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +858 -0
  436. data/sorbet/rbi/gems/unicode-display_width@2.1.0.rbi +26 -0
  437. data/sorbet/rbi/gems/unparser@0.6.3.rbi +1816 -0
  438. data/sorbet/rbi/gems/webmock@3.14.0.rbi +683 -0
  439. data/sorbet/rbi/gems/webrick@1.7.0.rbi +601 -0
  440. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +199 -0
  441. data/sorbet/rbi/gems/yard@0.9.27.rbi +4145 -0
  442. data/sorbet/rbi/gems/zeitwerk@2.5.4.rbi +200 -0
  443. data/sorbet/rbi/shims/fakefs.rbi +1 -0
  444. data/sorbet/rbi/shims/openssl.rb +3 -0
  445. data/sorbet/rbi/todo.rbi +8 -0
  446. data/sorbet/tapioca/config.yml +4 -0
  447. data/sorbet/tapioca/require.rb +20 -0
  448. metadata +541 -359
  449. data/.document +0 -5
  450. data/.github/probots.yml +0 -2
  451. data/.gitignore +0 -15
  452. data/.rubocop-https---shopify-github-io-ruby-style-guide-rubocop-yml +0 -1027
  453. data/.travis.yml +0 -28
  454. data/CONTRIBUTORS +0 -3
  455. data/Gemfile_ar41 +0 -5
  456. data/Gemfile_ar50 +0 -5
  457. data/Gemfile_ar51 +0 -5
  458. data/Gemfile_ar_master +0 -5
  459. data/RELEASING +0 -13
  460. data/docker-compose.yml +0 -13
  461. data/docs/_config.yml +0 -1
  462. data/docs/_includes/footer.html +0 -28
  463. data/docs/_includes/head.html +0 -28
  464. data/docs/_layouts/index.html +0 -57
  465. data/docs/graphql.md +0 -241
  466. data/docs/index.md +0 -639
  467. data/lib/active_resource/connection_ext.rb +0 -10
  468. data/lib/active_resource/detailed_log_subscriber.rb +0 -52
  469. data/lib/active_resource/json_errors.rb +0 -31
  470. data/lib/shopify_api/api_version.rb +0 -205
  471. data/lib/shopify_api/connection.rb +0 -35
  472. data/lib/shopify_api/countable.rb +0 -14
  473. data/lib/shopify_api/disable_prefix_check.rb +0 -31
  474. data/lib/shopify_api/events.rb +0 -7
  475. data/lib/shopify_api/graphql/http_client.rb +0 -22
  476. data/lib/shopify_api/graphql/railtie.rb +0 -17
  477. data/lib/shopify_api/graphql/task.rake +0 -100
  478. data/lib/shopify_api/graphql.rb +0 -101
  479. data/lib/shopify_api/limits.rb +0 -76
  480. data/lib/shopify_api/message_enricher.rb +0 -23
  481. data/lib/shopify_api/meta.rb +0 -15
  482. data/lib/shopify_api/metafields.rb +0 -20
  483. data/lib/shopify_api/paginated_collection.rb +0 -69
  484. data/lib/shopify_api/pagination_link_headers.rb +0 -33
  485. data/lib/shopify_api/resources/abandoned_checkout.rb +0 -7
  486. data/lib/shopify_api/resources/access_scope.rb +0 -10
  487. data/lib/shopify_api/resources/access_token.rb +0 -8
  488. data/lib/shopify_api/resources/address.rb +0 -4
  489. data/lib/shopify_api/resources/announcement.rb +0 -4
  490. data/lib/shopify_api/resources/api_permission.rb +0 -9
  491. data/lib/shopify_api/resources/application_charge.rb +0 -15
  492. data/lib/shopify_api/resources/application_credit.rb +0 -4
  493. data/lib/shopify_api/resources/array_base.rb +0 -13
  494. data/lib/shopify_api/resources/article.rb +0 -21
  495. data/lib/shopify_api/resources/asset.rb +0 -100
  496. data/lib/shopify_api/resources/assigned_fulfillment_order.rb +0 -16
  497. data/lib/shopify_api/resources/base.rb +0 -161
  498. data/lib/shopify_api/resources/billing_address.rb +0 -4
  499. data/lib/shopify_api/resources/blog.rb +0 -10
  500. data/lib/shopify_api/resources/carrier_service.rb +0 -4
  501. data/lib/shopify_api/resources/cart.rb +0 -4
  502. data/lib/shopify_api/resources/checkout.rb +0 -30
  503. data/lib/shopify_api/resources/collect.rb +0 -6
  504. data/lib/shopify_api/resources/collection.rb +0 -14
  505. data/lib/shopify_api/resources/collection_listing.rb +0 -18
  506. data/lib/shopify_api/resources/collection_publication.rb +0 -10
  507. data/lib/shopify_api/resources/comment.rb +0 -9
  508. data/lib/shopify_api/resources/country.rb +0 -4
  509. data/lib/shopify_api/resources/currency.rb +0 -6
  510. data/lib/shopify_api/resources/custom_collection.rb +0 -19
  511. data/lib/shopify_api/resources/customer.rb +0 -29
  512. data/lib/shopify_api/resources/customer_group.rb +0 -5
  513. data/lib/shopify_api/resources/customer_invite.rb +0 -4
  514. data/lib/shopify_api/resources/customer_saved_search.rb +0 -11
  515. data/lib/shopify_api/resources/discount_code.rb +0 -9
  516. data/lib/shopify_api/resources/discount_code_batch.rb +0 -32
  517. data/lib/shopify_api/resources/draft_order.rb +0 -14
  518. data/lib/shopify_api/resources/draft_order_invoice.rb +0 -4
  519. data/lib/shopify_api/resources/event.rb +0 -8
  520. data/lib/shopify_api/resources/fulfillment.rb +0 -47
  521. data/lib/shopify_api/resources/fulfillment_event.rb +0 -15
  522. data/lib/shopify_api/resources/fulfillment_order.rb +0 -137
  523. data/lib/shopify_api/resources/fulfillment_order_locations_for_move.rb +0 -4
  524. data/lib/shopify_api/resources/fulfillment_request.rb +0 -15
  525. data/lib/shopify_api/resources/fulfillment_service.rb +0 -4
  526. data/lib/shopify_api/resources/fulfillment_v2.rb +0 -20
  527. data/lib/shopify_api/resources/gift_card.rb +0 -7
  528. data/lib/shopify_api/resources/image.rb +0 -16
  529. data/lib/shopify_api/resources/inventory_item.rb +0 -6
  530. data/lib/shopify_api/resources/inventory_level.rb +0 -55
  531. data/lib/shopify_api/resources/line_item.rb +0 -14
  532. data/lib/shopify_api/resources/location.rb +0 -8
  533. data/lib/shopify_api/resources/marketing_event.rb +0 -10
  534. data/lib/shopify_api/resources/metafield.rb +0 -13
  535. data/lib/shopify_api/resources/note_attribute.rb +0 -4
  536. data/lib/shopify_api/resources/option.rb +0 -4
  537. data/lib/shopify_api/resources/order.rb +0 -43
  538. data/lib/shopify_api/resources/order_risk.rb +0 -8
  539. data/lib/shopify_api/resources/page.rb +0 -6
  540. data/lib/shopify_api/resources/payment.rb +0 -7
  541. data/lib/shopify_api/resources/payment_details.rb +0 -4
  542. data/lib/shopify_api/resources/ping.rb +0 -3
  543. data/lib/shopify_api/resources/policy.rb +0 -7
  544. data/lib/shopify_api/resources/price_rule.rb +0 -8
  545. data/lib/shopify_api/resources/product.rb +0 -56
  546. data/lib/shopify_api/resources/product_listing.rb +0 -16
  547. data/lib/shopify_api/resources/product_publication.rb +0 -10
  548. data/lib/shopify_api/resources/province.rb +0 -5
  549. data/lib/shopify_api/resources/publication.rb +0 -5
  550. data/lib/shopify_api/resources/receipt.rb +0 -4
  551. data/lib/shopify_api/resources/recurring_application_charge.rb +0 -31
  552. data/lib/shopify_api/resources/redirect.rb +0 -4
  553. data/lib/shopify_api/resources/refund.rb +0 -14
  554. data/lib/shopify_api/resources/report.rb +0 -4
  555. data/lib/shopify_api/resources/resource_feedback.rb +0 -19
  556. data/lib/shopify_api/resources/rule.rb +0 -4
  557. data/lib/shopify_api/resources/script_tag.rb +0 -4
  558. data/lib/shopify_api/resources/shipping_address.rb +0 -4
  559. data/lib/shopify_api/resources/shipping_line.rb +0 -4
  560. data/lib/shopify_api/resources/shipping_rate.rb +0 -7
  561. data/lib/shopify_api/resources/shipping_zone.rb +0 -4
  562. data/lib/shopify_api/resources/shop.rb +0 -25
  563. data/lib/shopify_api/resources/smart_collection.rb +0 -15
  564. data/lib/shopify_api/resources/storefront_access_token.rb +0 -4
  565. data/lib/shopify_api/resources/tax_line.rb +0 -4
  566. data/lib/shopify_api/resources/tax_service.rb +0 -4
  567. data/lib/shopify_api/resources/tender_transaction.rb +0 -6
  568. data/lib/shopify_api/resources/theme.rb +0 -4
  569. data/lib/shopify_api/resources/transaction.rb +0 -5
  570. data/lib/shopify_api/resources/usage_charge.rb +0 -5
  571. data/lib/shopify_api/resources/user.rb +0 -4
  572. data/lib/shopify_api/resources/variant.rb +0 -45
  573. data/lib/shopify_api/resources/webhook.rb +0 -4
  574. data/lib/shopify_api/resources.rb +0 -3
  575. data/lib/shopify_api/session.rb +0 -193
  576. data/lib/verify_docs.rb +0 -7
  577. data/test/abandoned_checkouts_test.rb +0 -29
  578. data/test/access_scope_test.rb +0 -23
  579. data/test/access_token_test.rb +0 -19
  580. data/test/active_resource/json_errors_test.rb +0 -19
  581. data/test/api_permission_test.rb +0 -9
  582. data/test/api_version_test.rb +0 -157
  583. data/test/application_charge_test.rb +0 -79
  584. data/test/application_credit_test.rb +0 -35
  585. data/test/article_test.rb +0 -73
  586. data/test/asset_test.rb +0 -18
  587. data/test/assigned_fulfillment_order_test.rb +0 -77
  588. data/test/base_test.rb +0 -214
  589. data/test/blog_test.rb +0 -8
  590. data/test/carrier_service_test.rb +0 -17
  591. data/test/cart_test.rb +0 -13
  592. data/test/checkouts_test.rb +0 -77
  593. data/test/collect_test.rb +0 -9
  594. data/test/collection_listing_test.rb +0 -79
  595. data/test/collection_publication_test.rb +0 -40
  596. data/test/collection_test.rb +0 -49
  597. data/test/countable_test.rb +0 -13
  598. data/test/currency_test.rb +0 -21
  599. data/test/custom_collection_test.rb +0 -9
  600. data/test/customer_saved_search_test.rb +0 -27
  601. data/test/customer_test.rb +0 -50
  602. data/test/detailed_log_subscriber_test.rb +0 -139
  603. data/test/discount_code_batch_test.rb +0 -40
  604. data/test/discount_code_test.rb +0 -53
  605. data/test/draft_order_test.rb +0 -151
  606. data/test/fixtures/abandoned_checkout.json +0 -184
  607. data/test/fixtures/abandoned_checkouts.json +0 -186
  608. data/test/fixtures/access_scopes.json +0 -10
  609. data/test/fixtures/access_token_delegate.json +0 -4
  610. data/test/fixtures/api_versions.json +0 -38
  611. data/test/fixtures/apis.json +0 -42
  612. data/test/fixtures/application_charge.json +0 -16
  613. data/test/fixtures/application_charges.json +0 -57
  614. data/test/fixtures/application_credit.json +0 -12
  615. data/test/fixtures/application_credits.json +0 -24
  616. data/test/fixtures/article.json +0 -15
  617. data/test/fixtures/articles.json +0 -39
  618. data/test/fixtures/asset.json +0 -9
  619. data/test/fixtures/assets.json +0 -136
  620. data/test/fixtures/assigned_fulfillment_orders.json +0 -78
  621. data/test/fixtures/authors.json +0 -1
  622. data/test/fixtures/blog.json +0 -13
  623. data/test/fixtures/blogs.json +0 -13
  624. data/test/fixtures/carrier_service.json +0 -9
  625. data/test/fixtures/carts.json +0 -43
  626. data/test/fixtures/checkout.json +0 -160
  627. data/test/fixtures/checkouts.json +0 -162
  628. data/test/fixtures/collect.json +0 -12
  629. data/test/fixtures/collection.json +0 -17
  630. data/test/fixtures/collection_listing.json +0 -11
  631. data/test/fixtures/collection_listing_product_ids.json +0 -1
  632. data/test/fixtures/collection_listing_product_ids2.json +0 -1
  633. data/test/fixtures/collection_listings.json +0 -13
  634. data/test/fixtures/collection_products.json +0 -47
  635. data/test/fixtures/collection_publication.json +0 -11
  636. data/test/fixtures/collection_publications.json +0 -13
  637. data/test/fixtures/currencies.json +0 -25
  638. data/test/fixtures/custom_collection.json +0 -17
  639. data/test/fixtures/customer_invite.json +0 -9
  640. data/test/fixtures/customer_saved_search.json +0 -9
  641. data/test/fixtures/customer_saved_search_customers.json +0 -60
  642. data/test/fixtures/customers.json +0 -59
  643. data/test/fixtures/customers_account_activation_url.json +0 -3
  644. data/test/fixtures/customers_search.json +0 -60
  645. data/test/fixtures/discount_code.json +0 -10
  646. data/test/fixtures/discount_code_batch.json +0 -14
  647. data/test/fixtures/discount_code_batch_discount_codes.json +0 -21
  648. data/test/fixtures/discount_codes.json +0 -12
  649. data/test/fixtures/draft_order.json +0 -159
  650. data/test/fixtures/draft_order_completed.json +0 -159
  651. data/test/fixtures/draft_order_invoice.json +0 -9
  652. data/test/fixtures/draft_orders.json +0 -161
  653. data/test/fixtures/engagement.json +0 -15
  654. data/test/fixtures/events.json +0 -31
  655. data/test/fixtures/fulfillment.json +0 -49
  656. data/test/fixtures/fulfillment_event.json +0 -12
  657. data/test/fixtures/fulfillment_order.json +0 -38
  658. data/test/fixtures/fulfillment_order_locations_for_move.json +0 -18
  659. data/test/fixtures/fulfillment_orders.json +0 -78
  660. data/test/fixtures/fulfillment_request.json +0 -28
  661. data/test/fixtures/fulfillment_service.json +0 -10
  662. data/test/fixtures/fulfillments.json +0 -53
  663. data/test/fixtures/gift_card.json +0 -20
  664. data/test/fixtures/gift_card_disabled.json +0 -20
  665. data/test/fixtures/graphql/2019-10.json +0 -1083
  666. data/test/fixtures/graphql/dummy_schema.rb +0 -16
  667. data/test/fixtures/graphql/unstable.json +0 -1083
  668. data/test/fixtures/image.json +0 -10
  669. data/test/fixtures/images.json +0 -20
  670. data/test/fixtures/inventory_level.json +0 -7
  671. data/test/fixtures/inventory_levels.json +0 -24
  672. data/test/fixtures/marketing_event.json +0 -28
  673. data/test/fixtures/marketing_events.json +0 -54
  674. data/test/fixtures/metafield.json +0 -12
  675. data/test/fixtures/metafields.json +0 -34
  676. data/test/fixtures/order.json +0 -297
  677. data/test/fixtures/order_risk.json +0 -14
  678. data/test/fixtures/order_risks.json +0 -28
  679. data/test/fixtures/order_with_properties.json +0 -373
  680. data/test/fixtures/orders.json +0 -299
  681. data/test/fixtures/payment.json +0 -7
  682. data/test/fixtures/payments.json +0 -9
  683. data/test/fixtures/ping/conversation.json +0 -1
  684. data/test/fixtures/ping/failed_delivery_confirmation.json +0 -1
  685. data/test/fixtures/ping/message.json +0 -1
  686. data/test/fixtures/ping/successful_delivery_confirmation.json +0 -1
  687. data/test/fixtures/policies.json +0 -8
  688. data/test/fixtures/price_rule.json +0 -27
  689. data/test/fixtures/price_rules.json +0 -28
  690. data/test/fixtures/product.json +0 -116
  691. data/test/fixtures/product_listing.json +0 -86
  692. data/test/fixtures/product_listing_product_ids.json +0 -1
  693. data/test/fixtures/product_listing_product_ids2.json +0 -1
  694. data/test/fixtures/product_listings.json +0 -174
  695. data/test/fixtures/product_publication.json +0 -11
  696. data/test/fixtures/product_publications.json +0 -13
  697. data/test/fixtures/publications.json +0 -9
  698. data/test/fixtures/recurring_application_charge.json +0 -22
  699. data/test/fixtures/recurring_application_charge_adjustment.json +0 -5
  700. data/test/fixtures/recurring_application_charges.json +0 -106
  701. data/test/fixtures/redirect.json +0 -7
  702. data/test/fixtures/refund.json +0 -112
  703. data/test/fixtures/report.json +0 -9
  704. data/test/fixtures/reports.json +0 -11
  705. data/test/fixtures/script_tag.json +0 -10
  706. data/test/fixtures/script_tags.json +0 -18
  707. data/test/fixtures/shipping_rates.json +0 -12
  708. data/test/fixtures/shipping_zones.json +0 -315
  709. data/test/fixtures/shop.json +0 -26
  710. data/test/fixtures/smart_collection.json +0 -21
  711. data/test/fixtures/smart_collection_products.json +0 -155
  712. data/test/fixtures/storefront_access_token.json +0 -9
  713. data/test/fixtures/storefront_access_tokens.json +0 -18
  714. data/test/fixtures/tags.json +0 -1
  715. data/test/fixtures/tax_service.json +0 -9
  716. data/test/fixtures/tender_transactions.json +0 -52
  717. data/test/fixtures/transaction.json +0 -29
  718. data/test/fixtures/usage_charge.json +0 -11
  719. data/test/fixtures/usage_charges.json +0 -23
  720. data/test/fixtures/user.json +0 -21
  721. data/test/fixtures/users.json +0 -42
  722. data/test/fixtures/variant.json +0 -23
  723. data/test/fixtures/variants.json +0 -88
  724. data/test/fixtures/webhook.json +0 -10
  725. data/test/fixtures/webhooks.json +0 -18
  726. data/test/fulfillment_event_test.rb +0 -69
  727. data/test/fulfillment_order_test.rb +0 -462
  728. data/test/fulfillment_order_test_helper.rb +0 -7
  729. data/test/fulfillment_request_test.rb +0 -33
  730. data/test/fulfillment_service_test.rb +0 -17
  731. data/test/fulfillment_test.rb +0 -224
  732. data/test/fulfillment_v2_test.rb +0 -62
  733. data/test/gift_card_test.rb +0 -22
  734. data/test/graphql/http_client_test.rb +0 -26
  735. data/test/graphql_test.rb +0 -190
  736. data/test/image_test.rb +0 -39
  737. data/test/inventory_level_test.rb +0 -59
  738. data/test/lib/webmock_extensions/last_request.rb +0 -16
  739. data/test/limits_test.rb +0 -38
  740. data/test/location_test.rb +0 -14
  741. data/test/marketing_event_test.rb +0 -68
  742. data/test/message_enricher_test.rb +0 -45
  743. data/test/meta_test.rb +0 -49
  744. data/test/metafield_test.rb +0 -46
  745. data/test/order_risk_test.rb +0 -46
  746. data/test/order_test.rb +0 -125
  747. data/test/pagination_test.rb +0 -257
  748. data/test/payment_test.rb +0 -19
  749. data/test/policy_test.rb +0 -19
  750. data/test/price_rule_test.rb +0 -65
  751. data/test/product_listing_test.rb +0 -97
  752. data/test/product_publication_test.rb +0 -40
  753. data/test/product_test.rb +0 -99
  754. data/test/publication_test.rb +0 -12
  755. data/test/recurring_application_charge_test.rb +0 -142
  756. data/test/redirect_test.rb +0 -9
  757. data/test/refund_test.rb +0 -32
  758. data/test/report_test.rb +0 -35
  759. data/test/resource_feedback_test.rb +0 -42
  760. data/test/script_tag_test.rb +0 -30
  761. data/test/session_test.rb +0 -529
  762. data/test/shipping_rate_test.rb +0 -17
  763. data/test/shipping_zone_test.rb +0 -10
  764. data/test/shop_test.rb +0 -68
  765. data/test/smart_collection_test.rb +0 -10
  766. data/test/storefront_access_token_test.rb +0 -32
  767. data/test/tax_service_test.rb +0 -9
  768. data/test/tender_transaction_test.rb +0 -18
  769. data/test/test_helper.rb +0 -124
  770. data/test/transaction_test.rb +0 -17
  771. data/test/usage_charge_test.rb +0 -21
  772. data/test/user_test.rb +0 -17
  773. data/test/variant_test.rb +0 -104
  774. data/test/webhook_test.rb +0 -21
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'test_helper'
3
-
4
- class ApiPermissionTest < Test::Unit::TestCase
5
- test "revoke access token" do
6
- fake "api_permissions/current", method: :delete, status: 200, body: "{}"
7
- assert ShopifyAPI::ApiPermission.destroy
8
- end
9
- end
@@ -1,157 +0,0 @@
1
- # frozen_string_literal: true
2
- require 'test_helper'
3
-
4
- class ApiVersionTest < Test::Unit::TestCase
5
- test "find_version returns any version object given" do
6
- version = ShopifyAPI::ApiVersion.new(handle: :unstable)
7
- assert_same(version, ShopifyAPI::ApiVersion.find_version(version))
8
- end
9
-
10
- test "find_version converts a known version into a version object" do
11
- versions = [
12
- ShopifyAPI::ApiVersion.new(handle: :unstable),
13
- ShopifyAPI::ApiVersion.new(handle: '2019-01'),
14
- ]
15
-
16
- assert_equal(versions, [
17
- ShopifyAPI::ApiVersion.find_version('unstable'),
18
- ShopifyAPI::ApiVersion.find_version('2019-01'),
19
- ])
20
- end
21
-
22
- test "find_version removes unverified versions from version set if mode is set to :raise_on_unknown" do
23
- ShopifyAPI::ApiVersion.version_lookup_mode = :define_on_unknown
24
- assert ShopifyAPI::ApiVersion.versions.values.all?(&:verified?)
25
- assert_equal 6, ShopifyAPI::ApiVersion.versions.size
26
-
27
- ShopifyAPI::ApiVersion.find_version('2019-30')
28
- refute ShopifyAPI::ApiVersion.versions.values.all?(&:verified?)
29
- assert_equal 7, ShopifyAPI::ApiVersion.versions.size
30
- ShopifyAPI::ApiVersion.version_lookup_mode = :raise_on_unknown
31
-
32
- assert ShopifyAPI::ApiVersion.versions.values.all?(&:verified?)
33
- assert_equal 6, ShopifyAPI::ApiVersion.versions.size
34
- end
35
-
36
- test "find_version does not raise when coercing a string if no versions are defined when version_lookup_mode is :define_on_unknown" do
37
- ShopifyAPI::ApiVersion.clear_known_versions
38
- ShopifyAPI::ApiVersion.version_lookup_mode = :define_on_unknown
39
- assert_equal :define_on_unknown, ShopifyAPI::ApiVersion.version_lookup_mode
40
- assert_nothing_raised do
41
- ShopifyAPI::ApiVersion.find_version('made up version')
42
- end
43
- end
44
-
45
- test "find_version does raise when coercing a string if no versions are defined when version_lookup_mode is :raise_on_unknown" do
46
- refute ShopifyAPI::ApiVersion.versions['made up version']
47
- ShopifyAPI::ApiVersion.version_lookup_mode = :raise_on_unknown
48
- assert_raises ShopifyAPI::ApiVersion::UnknownVersion do
49
- ShopifyAPI::ApiVersion.find_version('made up version')
50
- end
51
- end
52
-
53
- test "find_version raises ArgumentError when given an ShopifyAPI::ApiVersion::NullVersion object" do
54
- ShopifyAPI::ApiVersion.clear_known_versions
55
- ShopifyAPI::ApiVersion.version_lookup_mode = :define_on_unknown
56
- assert_equal :define_on_unknown, ShopifyAPI::ApiVersion.version_lookup_mode
57
- assert_raises ArgumentError do
58
- ShopifyAPI::ApiVersion.find_version(ShopifyAPI::ApiVersion::NullVersion)
59
- end
60
- end
61
-
62
- test 'two versions with the same version number are equal' do
63
- version_1 = ShopifyAPI::ApiVersion.new(handle: '2018-09')
64
- version_2 = ShopifyAPI::ApiVersion.new(handle: '2018-09')
65
-
66
- assert_equal version_2, version_1
67
- end
68
-
69
- test 'two versions with the different version numbers are not equal' do
70
- version_1 = ShopifyAPI::ApiVersion.new(handle: '2019-07')
71
- version_2 = ShopifyAPI::ApiVersion.new(handle: '2019-11')
72
-
73
- refute_equal version_2, version_1
74
- end
75
-
76
- test 'versions are ordered by version number with unstable always being the newest' do
77
- version_1 = ShopifyAPI::ApiVersion.new(handle: '2017-11')
78
- version_2 = ShopifyAPI::ApiVersion.new(handle: '2019-11')
79
- version_3 = ShopifyAPI::ApiVersion.new(handle: '2039-01')
80
- version_4 = ShopifyAPI::ApiVersion.new(handle: '2039-02')
81
- unstable = ShopifyAPI::ApiVersion.new(handle: :unstable)
82
-
83
- assert_equal([
84
- version_1,
85
- version_2,
86
- version_3,
87
- version_4,
88
- unstable,
89
- ], [
90
- version_3,
91
- version_1,
92
- version_4,
93
- unstable,
94
- version_2,
95
- ].sort)
96
- end
97
-
98
- test 'latest_stable_version will return the version that is newest and stable' do
99
- assert_equal(
100
- ShopifyAPI::ApiVersion.versions,
101
- {
102
- "2019-01" => ShopifyAPI::ApiVersion.new(handle: '2019-01', supported: true, latest_supported: false),
103
- "2019-04" => ShopifyAPI::ApiVersion.new(handle: '2019-04', supported: true, latest_supported: false),
104
- "2019-07" => ShopifyAPI::ApiVersion.new(handle: '2019-07', supported: true, latest_supported: false),
105
- "2019-10" => ShopifyAPI::ApiVersion.new(handle: '2019-10', supported: false, latest_supported: false),
106
- "2020-01" => ShopifyAPI::ApiVersion.new(handle: '2020-01', supported: false, latest_supported: true),
107
- "unstable" => ShopifyAPI::ApiVersion.new(handle: 'unstable', supported: false, latest_supported: false),
108
- }
109
- )
110
- silence_warnings do
111
-
112
- refute_equal(
113
- ShopifyAPI::ApiVersion.new(handle: '2019-01'),
114
- ShopifyAPI::ApiVersion.latest_stable_version
115
- )
116
-
117
- assert_equal(
118
- ShopifyAPI::ApiVersion.new(handle: '2020-01'),
119
- ShopifyAPI::ApiVersion.latest_stable_version
120
- )
121
- end
122
- end
123
-
124
- test "NullVersion raises ApiVersionNotSetError" do
125
- assert_raises(ShopifyAPI::ApiVersion::ApiVersionNotSetError) do
126
- ShopifyAPI::ApiVersion::NullVersion.construct_api_path(:string)
127
- end
128
-
129
- assert_raises(ShopifyAPI::ApiVersion::ApiVersionNotSetError) do
130
- ShopifyAPI::ApiVersion::NullVersion.construct_graphql_path
131
- end
132
-
133
- assert_raises(ShopifyAPI::ApiVersion::ApiVersionNotSetError) do
134
- ShopifyAPI::ApiVersion::NullVersion.stable?
135
- end
136
- end
137
-
138
- test "NullVersion cannot be instantiated and raises NoMethodError if attempted" do
139
- assert_raises(NoMethodError) do
140
- ShopifyAPI::ApiVersion::NullVersion.new
141
- end
142
- end
143
-
144
- test "handle_to_date converts a version handle to a date" do
145
- version_1 = ShopifyAPI::ApiVersion.new(handle: '2019-01')
146
- version_2 = ShopifyAPI::ApiVersion.new(handle: 'unstable')
147
-
148
- assert_equal(version_1.handle_as_date, Time.utc(2019, 01, 01))
149
- assert_equal(version_2.handle_as_date, ShopifyAPI::ApiVersion::UNSTABLE_AS_DATE)
150
- end
151
-
152
- class TestApiVersion < ShopifyAPI::ApiVersion
153
- def initialize(name)
154
- @version_name = name
155
- end
156
- end
157
- end
@@ -1,79 +0,0 @@
1
- require 'test_helper'
2
-
3
- class ApplicationChargeTest < Test::Unit::TestCase
4
-
5
- def test_application_charge_create
6
- fake "application_charges", :method => :post, :status => 201, :body => load_fixture('application_charge')
7
-
8
- charge = ShopifyAPI::ApplicationCharge.create(
9
- name: "iPod Cleaning",
10
- price: 5.00,
11
- return_url: "http://google.com"
12
- )
13
-
14
- assert_equal 'https://this-is-my-test-shop.myshopify.com/admin/charges/803742/confirm_application_charge?signature=BAhpA55DDA%3D%3D--55b44e274e438c619be4631c804abcbcb6ee915a', charge.confirmation_url
15
- end
16
-
17
- def test_get_application_charge
18
- fake "application_charges/803742", :method => :get, :status => 201, :body => load_fixture('application_charge')
19
-
20
- charge = ShopifyAPI::ApplicationCharge.find(803742)
21
-
22
- assert_equal "iPod Cleaning", charge.name
23
- end
24
-
25
- def test_list_application_charges
26
- fake "application_charges", :method => :get, :status => 201, :body => load_fixture('application_charges')
27
-
28
- charges = ShopifyAPI::ApplicationCharge.find(:all)
29
-
30
- assert_equal 4, charges.size
31
- assert_equal "iPhone Case", charges.last.name
32
- end
33
-
34
- def test_list_pending_application_charges
35
- fake "application_charges", :method => :get, :status => 201, :body => load_fixture('application_charges')
36
-
37
- pending_charges = ShopifyAPI::ApplicationCharge.pending
38
-
39
- assert_equal 1, pending_charges.size
40
- assert_equal "Screen Replacement", pending_charges.first.name
41
- end
42
-
43
- def test_list_expired_application_charges
44
- fake "application_charges", :method => :get, :status => 201, :body => load_fixture('application_charges')
45
-
46
- expired_charges = ShopifyAPI::ApplicationCharge.expired
47
-
48
- assert_equal 1, expired_charges.size
49
- assert_equal "iPod Cleaning", expired_charges.first.name
50
- end
51
-
52
- def test_list_accepted_application_charges
53
- fake "application_charges", :method => :get, :status => 201, :body => load_fixture('application_charges')
54
-
55
- accepted_charges = ShopifyAPI::ApplicationCharge.accepted
56
-
57
- assert_equal 1, accepted_charges.size
58
- assert_equal "iPhone Case", accepted_charges.first.name
59
- end
60
-
61
- def test_list_declined_application_charges
62
- fake "application_charges", :method => :get, :status => 201, :body => load_fixture('application_charges')
63
-
64
- declined_charges = ShopifyAPI::ApplicationCharge.declined
65
-
66
- assert_equal 1, declined_charges.size
67
- assert_equal "Magic Mouse", declined_charges.first.name
68
- end
69
-
70
- def test_activate_application_charge
71
- fake "application_charges", :method => :get, :status => 201, :body => load_fixture('application_charges')
72
- fake "application_charges/803740/activate", :method => :post, :status => 200, :body => "{}"
73
-
74
- charge = ShopifyAPI::ApplicationCharge.accepted
75
-
76
- assert charge.last.activate
77
- end
78
-
79
- end
@@ -1,35 +0,0 @@
1
- require 'test_helper'
2
-
3
- class ApplicationCreditTest < Test::Unit::TestCase
4
- def test_application_credit_create
5
- fake "application_credits", method: :post, status: 201, body: load_fixture('application_credit')
6
-
7
- credit = ShopifyAPI::ApplicationCredit.create(
8
- description: "refund for application charge",
9
- amount: 5.00,
10
- api_client_id: 861378,
11
- shop_id: 487168
12
- )
13
-
14
- assert_equal 'refund for application charge', credit.description
15
- assert_equal '5.00', credit.amount
16
- end
17
-
18
- def test_get_application_credit
19
- fake "application_credits/803742", method: :get, status: 201, body: load_fixture('application_credit')
20
-
21
- credit = ShopifyAPI::ApplicationCredit.find(803742)
22
-
23
- assert_equal 'refund for application charge', credit.description
24
- assert_equal '5.00', credit.amount
25
- end
26
-
27
- def test_list_application_credits
28
- fake "application_credits", method: :get, status: 201, body: load_fixture('application_credits')
29
-
30
- credit = ShopifyAPI::ApplicationCredit.find(:all)
31
-
32
- assert_equal 2, credit.size
33
- assert_equal '10.00', credit.last.amount
34
- end
35
- end
data/test/article_test.rb DELETED
@@ -1,73 +0,0 @@
1
- require 'test_helper'
2
-
3
- class ArticleTest < Test::Unit::TestCase
4
-
5
- def test_create_article
6
- fake "blogs/1008414260/articles", :method => :post, :body => load_fixture('article')
7
- article = ShopifyAPI::Article.new(:blog_id => 1008414260)
8
- article.save
9
- assert_equal "First Post", article.title
10
- end
11
-
12
- def test_get_article
13
- fake "articles/6242736", :method => :get, :body => load_fixture('article')
14
- article = ShopifyAPI::Article.find(6242736)
15
- assert_equal "First Post", article.title
16
- assert_equal 1008414260, article.blog_id
17
- end
18
-
19
- def test_get_articles
20
- fake "articles", :method => :get, :body => load_fixture('articles')
21
- articles = ShopifyAPI::Article.all
22
- assert_equal 3, articles.length
23
- assert_equal 1008414260, articles.first.blog_id
24
- end
25
-
26
- def test_get_articles_namespaced
27
- fake "blogs/1008414260/articles", :method => :get, :body => load_fixture('articles')
28
- articles = ShopifyAPI::Article.find(:all, :params => {:blog_id => 1008414260})
29
- assert_equal 3, articles.length
30
- assert_equal 1008414260, articles.first.blog_id
31
- end
32
-
33
- def test_get_article_namespaced
34
- fake "blogs/1008414260/articles/6242736", :method => :get, :body => load_fixture('article')
35
- article = ShopifyAPI::Article.find(6242736, :params => {:blog_id => 1008414260})
36
- assert_equal "First Post", article.title
37
- assert_equal 1008414260, article.blog_id
38
- end
39
-
40
- def test_get_authors
41
- fake "articles/authors", :method => :get, :body => load_fixture('authors')
42
- authors = ShopifyAPI::Article.authors
43
- assert_equal "Shopify", authors.first
44
- assert_equal "development shop", authors.last
45
- end
46
-
47
- def test_get_authors_for_blog_id
48
- fake "blogs/1008414260/articles/authors", :method => :get, :body => load_fixture('authors')
49
- authors = ShopifyAPI::Article.authors(:blog_id => 1008414260)
50
- assert_equal 3, authors.length
51
- end
52
-
53
- def test_get_tags
54
- fake "articles/tags", :method => :get, :body => load_fixture('tags')
55
- tags = ShopifyAPI::Article.tags
56
- assert_equal "consequuntur", tags.first
57
- assert_equal "repellendus", tags.last
58
- end
59
-
60
- def test_get_tags_for_blog_id
61
- fake "blogs/1008414260/articles/tags", :method => :get, :body => load_fixture('tags')
62
- tags = ShopifyAPI::Article.tags(:blog_id => 1008414260)
63
- assert_equal "consequuntur", tags.first
64
- assert_equal "repellendus", tags.last
65
- end
66
-
67
- def test_get_popular_tags
68
- fake "articles/tags.json?limit=1&popular=1", :extension => false, :method => :get, :body => load_fixture('tags')
69
- tags = ShopifyAPI::Article.tags(:popular => 1, :limit => 1)
70
- assert_equal 3, tags.length
71
- end
72
-
73
- end
data/test/asset_test.rb DELETED
@@ -1,18 +0,0 @@
1
- require 'test_helper'
2
-
3
- class AssetTest < Test::Unit::TestCase
4
- def test_get_assetss
5
- fake "themes/1/assets", :method => :get, :body => load_fixture('assets')
6
- v = ShopifyAPI::Asset.find(:all, :params => {:theme_id => 1})
7
- end
8
-
9
- def test_get_asset_namespaced
10
- fake "themes/1/assets.json?asset%5Bkey%5D=templates%2Findex.liquid&theme_id=1", :extension=> false, :method => :get, :body => load_fixture('asset')
11
- v = ShopifyAPI::Asset.find('templates/index.liquid', :params => {:theme_id => 1})
12
- end
13
-
14
- def test_get_asset
15
- fake "assets.json?asset%5Bkey%5D=templates%2Findex.liquid", :extension=> false, :method => :get, :body => load_fixture('asset')
16
- v = ShopifyAPI::Asset.find('templates/index.liquid')
17
- end
18
- end
@@ -1,77 +0,0 @@
1
- require 'test_helper'
2
- require 'fulfillment_order_test_helper'
3
-
4
- class AssignedFulFillmentOrderTest < Test::Unit::TestCase
5
- include FulfillmentOrderTestHelper
6
-
7
- def setup
8
- super
9
- @url_prefix = url_prefix_for_activated_session_for('2020-01')
10
- @fulfillment_order_fixture = load_fixture('assigned_fulfillment_orders')
11
- end
12
-
13
- context "AssignedFulfillmentOrder" do
14
- context ".new" do
15
- should "raise NotImplementedError when api_version is older than 2020-01" do
16
- url_prefix_for_activated_session_for('2019-10')
17
-
18
- assert_raises NotImplementedError do
19
- ShopifyAPI::AssignedFulfillmentOrder.new(ActiveSupport::JSON.decode(@fulfillment_order_fixture))
20
- end
21
- end
22
- end
23
-
24
- context "#all" do
25
- should "raise NotImplementedError when api_version is older than 2020-01" do
26
- @url_prefix = url_prefix_for_activated_session_for('2019-10')
27
-
28
- fake 'assigned_fulfillment_orders',
29
- url: "#{@url_prefix}/assigned_fulfillment_orders.json",
30
- method: :get,
31
- body: @fulfillment_order_fixture,
32
- extension: false
33
-
34
- assert_raises NotImplementedError do
35
- ShopifyAPI::AssignedFulfillmentOrder.all(params: { assigned_status: 'cancellation_requested' })
36
- end
37
- end
38
-
39
- should "list assigned fulfillment orders by assigned_status" do
40
- fake 'assigned_fulfillment_orders',
41
- url: "#{@url_prefix}/assigned_fulfillment_orders.json?assigned_status=cancellation_requested",
42
- method: :get,
43
- body: @fulfillment_order_fixture,
44
- extension: false
45
-
46
- assigned_fulfillment_orders = ShopifyAPI::AssignedFulfillmentOrder.all(
47
- params: { assigned_status: 'cancellation_requested' }
48
- )
49
-
50
- assert_equal 2, assigned_fulfillment_orders.count
51
- assigned_fulfillment_orders.each do |fulfillment_order|
52
- assert fulfillment_order.is_a?(ShopifyAPI::FulfillmentOrder)
53
- assert_equal 'in_progress', fulfillment_order.status
54
- assert_equal 'cancellation_accepted', fulfillment_order.request_status
55
- end
56
- end
57
-
58
- should "be able to list assigned fulfillment orders by location_ids" do
59
- assigned_location_id = 905684977
60
- fake 'assigned_fulfillment_orders',
61
- url: "#{@url_prefix}/assigned_fulfillment_orders.json?location_ids%5B%5D=#{assigned_location_id}",
62
- method: :get,
63
- body: @fulfillment_order_fixture, extension: false
64
-
65
- assigned_fulfillment_orders = ShopifyAPI::AssignedFulfillmentOrder.all(
66
- params: { location_ids: [assigned_location_id] }
67
- )
68
-
69
- assert_equal 2, assigned_fulfillment_orders.count
70
- assigned_fulfillment_orders.each do |fulfillment_order|
71
- assert fulfillment_order.is_a?(ShopifyAPI::FulfillmentOrder)
72
- assert_equal assigned_location_id, fulfillment_order.assigned_location_id
73
- end
74
- end
75
- end
76
- end
77
- end
data/test/base_test.rb DELETED
@@ -1,214 +0,0 @@
1
- require 'test_helper'
2
- require "active_support/log_subscriber/test_helper"
3
-
4
- class BaseTest < Test::Unit::TestCase
5
- def setup
6
- super
7
- @session1 = ShopifyAPI::Session.new(domain: 'shop1.myshopify.com', token: 'token1', api_version: '2019-01')
8
- @session2 = ShopifyAPI::Session.new(domain: 'shop2.myshopify.com', token: 'token2', api_version: '2019-01')
9
- end
10
-
11
- def teardown
12
- super
13
- clear_header('X-Custom')
14
- end
15
-
16
- test '#activate_session should set site and headers for given session' do
17
- ShopifyAPI::Base.activate_session @session1
18
-
19
- assert_nil ActiveResource::Base.site
20
- assert_equal 'https://shop1.myshopify.com', ShopifyAPI::Base.site.to_s
21
- assert_equal 'https://shop1.myshopify.com', ShopifyAPI::Shop.site.to_s
22
-
23
- assert_nil ActiveResource::Base.headers['X-Shopify-Access-Token']
24
- assert_equal 'token1', ShopifyAPI::Base.headers['X-Shopify-Access-Token']
25
- assert_equal 'token1', ShopifyAPI::Shop.headers['X-Shopify-Access-Token']
26
- end
27
-
28
- test '#clear_session should clear base site settings from Base' do
29
- ShopifyAPI::Base.site = "https://foo:bar@www.zombo.com"
30
-
31
- assert_equal "foo", ShopifyAPI::Base.user
32
- assert_equal "bar", ShopifyAPI::Base.password
33
-
34
- ShopifyAPI::Base.clear_session
35
-
36
- assert_nil ShopifyAPI::Base.user
37
- assert_nil ShopifyAPI::Base.password
38
- assert_nil ShopifyAPI::Base.site
39
- end
40
-
41
- # test to check session reset api version remains the same after session reset
42
- test '#clear_session should not change the api_version' do
43
- ShopifyAPI::Base.site = "https://zoo:lion@www.zoo.com"
44
-
45
-
46
- assert_equal "zoo", ShopifyAPI::Base.user
47
- assert_equal "lion", ShopifyAPI::Base.password
48
-
49
- ShopifyAPI::Base.clear_session
50
-
51
- assert_nil ShopifyAPI::Base.user
52
- assert_nil ShopifyAPI::Base.password
53
- assert_nil ShopifyAPI::Base.site
54
- assert_equal ShopifyAPI::Base.api_version,@session1.api_version
55
- end
56
-
57
- test '#clear_session should clear site and headers from Base' do
58
- ShopifyAPI::Base.activate_session @session1
59
- ShopifyAPI::Base.clear_session
60
-
61
- assert_nil ActiveResource::Base.site
62
- assert_nil ShopifyAPI::Base.site
63
- assert_nil ShopifyAPI::Shop.site
64
-
65
- assert_nil ActiveResource::Base.headers['X-Shopify-Access-Token']
66
- assert_nil ShopifyAPI::Base.headers['X-Shopify-Access-Token']
67
- assert_nil ShopifyAPI::Shop.headers['X-Shopify-Access-Token']
68
- end
69
-
70
- test '#activate_session with one session, then clearing and activating with another session should send request to correct shop' do
71
- ShopifyAPI::Base.activate_session @session1
72
- ShopifyAPI::Base.clear_session
73
- ShopifyAPI::Base.activate_session @session2
74
-
75
- assert_nil ActiveResource::Base.site
76
- assert_equal 'https://shop2.myshopify.com', ShopifyAPI::Base.site.to_s
77
- assert_equal 'https://shop2.myshopify.com', ShopifyAPI::Shop.site.to_s
78
-
79
- assert_nil ActiveResource::Base.headers['X-Shopify-Access-Token']
80
- assert_equal 'token2', ShopifyAPI::Base.headers['X-Shopify-Access-Token']
81
- assert_equal 'token2', ShopifyAPI::Shop.headers['X-Shopify-Access-Token']
82
- end
83
-
84
- test '#activate_session with nil raises an InvalidSessionError' do
85
- assert_raises ShopifyAPI::Base::InvalidSessionError do
86
- ShopifyAPI::Base.activate_session nil
87
- end
88
- end
89
-
90
- test "#delete should send custom headers with request" do
91
- ShopifyAPI::Base.activate_session @session1
92
- ShopifyAPI::Base.headers['X-Custom'] = 'abc'
93
- ShopifyAPI::Base.connection
94
- .expects(:delete)
95
- .with('/admin/api/2019-01/bases/1.json', has_entry('X-Custom', 'abc'))
96
- ShopifyAPI::Base.delete "1"
97
- end
98
-
99
- test "#headers includes the User-Agent" do
100
- assert_not_includes ActiveResource::Base.headers.keys, 'User-Agent'
101
- assert_includes ShopifyAPI::Base.headers.keys, 'User-Agent'
102
- thread = Thread.new do
103
- assert_includes ShopifyAPI::Base.headers.keys, 'User-Agent'
104
- end
105
- thread.join
106
- end
107
-
108
- test "prefix= will forward to resource when the value does not start with admin" do
109
- session = ShopifyAPI::Session.new(domain: 'shop1.myshopify.com', token: 'token1', api_version: '2019-01')
110
- ShopifyAPI::Base.activate_session(session)
111
- silence_warnings do
112
- TestResource.prefix = 'a/regular/path/'
113
- end
114
-
115
- assert_equal('/admin/api/2019-01/a/regular/path/', TestResource.prefix)
116
- end
117
-
118
- test "prefix= will raise an error if value starts with with /admin" do
119
- assert_raises ArgumentError do
120
- TestResource.prefix = '/admin/old/prefix/structure/'
121
- end
122
- end
123
-
124
- test "#headers propagates changes to subclasses" do
125
- ShopifyAPI::Base.headers['X-Custom'] = "the value"
126
- assert_equal "the value", ShopifyAPI::Base.headers['X-Custom']
127
- assert_equal "the value", ShopifyAPI::Product.headers['X-Custom']
128
- end
129
-
130
- test "#headers clears changes to subclasses" do
131
- ShopifyAPI::Base.headers['X-Custom'] = "the value"
132
- assert_equal "the value", ShopifyAPI::Product.headers['X-Custom']
133
- ShopifyAPI::Base.headers['X-Custom'] = nil
134
- assert_nil ShopifyAPI::Product.headers['X-Custom']
135
- end
136
-
137
- test "#headers set in the main thread affect spawned threads" do
138
- ShopifyAPI::Base.headers['X-Custom'] = "the value"
139
- Thread.new do
140
- assert_equal "the value", ShopifyAPI::Base.headers['X-Custom']
141
- end.join
142
- end
143
-
144
- test "#headers set in spawned threads do not affect the main thread" do
145
- Thread.new do
146
- ShopifyAPI::Base.headers['X-Custom'] = "the value"
147
- end.join
148
- assert_nil ShopifyAPI::Base.headers['X-Custom']
149
- end
150
-
151
- test "using a different version changes the url" do
152
- release_2019_01 = ShopifyAPI::Session.new(domain: 'shop1.myshopify.com', token: 'token1', api_version: '2019-01')
153
- unstable_version = ShopifyAPI::Session.new(domain: 'shop2.myshopify.com', token: 'token2', api_version: :unstable)
154
-
155
- fake(
156
- "shop",
157
- url: "https://shop1.myshopify.com/admin/api/2019-01/shop.json",
158
- method: :get,
159
- status: 201,
160
- body: '{ "shop": { "id": 1 } }'
161
- )
162
- fake(
163
- "shop",
164
- url: "https://shop2.myshopify.com/admin/api/unstable/shop.json",
165
- method: :get,
166
- status: 201,
167
- body: '{ "shop": { "id": 2 } }'
168
- )
169
-
170
- ShopifyAPI::Base.activate_session(release_2019_01)
171
- assert_equal 1, ShopifyAPI::Shop.current.id
172
-
173
- ShopifyAPI::Base.activate_session(unstable_version)
174
- assert_equal 2, ShopifyAPI::Shop.current.id
175
- end
176
-
177
- test "#api_version= should set ApiVersion" do
178
- ShopifyAPI::Base.api_version = '2019-04'
179
- assert_equal '2019-04', ShopifyAPI::Base.api_version.to_s
180
- end
181
-
182
- test "#api_version= nil should set ApiVersion to ShopifyAPI::ApiVersion::NullVersion" do
183
- ShopifyAPI::Base.api_version = nil
184
- assert_equal ShopifyAPI::ApiVersion::NullVersion, ShopifyAPI::Base.api_version
185
- end
186
-
187
- test "#api_version= ShopifyAPI::ApiVersion::NullVersion should set ApiVersion to ShopifyAPI::ApiVersion::NullVersion" do
188
- ShopifyAPI::Base.api_version = ShopifyAPI::ApiVersion::NullVersion
189
- assert_equal ShopifyAPI::ApiVersion::NullVersion, ShopifyAPI::Base.api_version
190
- end
191
-
192
- test "#version_validation! does not raise is api_version is newer or equal to minimum supported version" do
193
- ShopifyAPI::Base.api_version = '2020-01'
194
- assert_nil ShopifyAPI::Base::version_validation!('2020-01')
195
- end
196
-
197
- test "#version_validation! raises NotImplemetedError if api_version is older than minimum supported version" do
198
- ShopifyAPI::Base.api_version = '2019-10'
199
- exception = assert_raises NotImplementedError do
200
- ShopifyAPI::Base::version_validation!('2020-01')
201
- end
202
- assert_equal 'The minimum supported version is 2020-01.', exception.message
203
- end
204
-
205
-
206
- def clear_header(header)
207
- [ActiveResource::Base, ShopifyAPI::Base, ShopifyAPI::Product].each do |klass|
208
- klass.headers.delete(header)
209
- end
210
- end
211
-
212
- class TestResource < ShopifyAPI::Base
213
- end
214
- end
data/test/blog_test.rb DELETED
@@ -1,8 +0,0 @@
1
- require 'test_helper'
2
- class BlogTest < Test::Unit::TestCase
3
- test "blog creation" do
4
- fake "blogs", :method => :post, :status => 202, :body => load_fixture('blog')
5
- blog = ShopifyAPI::Blog.create(:title => "Test Blog")
6
- assert_equal '{"blog":{"title":"Test Blog"}}', WebMock.last_request.body
7
- end
8
- end