shopify_api 9.2.0 → 9.3.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 (190) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE.md +36 -0
  3. data/.github/workflows/build.yml +41 -0
  4. data/.gitignore +0 -1
  5. data/.rubocop.yml +23 -3
  6. data/.rubocop_todo.yml +75 -0
  7. data/CHANGELOG.md +15 -0
  8. data/Gemfile +1 -0
  9. data/Gemfile.lock +151 -0
  10. data/Gemfile_ar51 +1 -1
  11. data/README.md +40 -30
  12. data/RELEASING +10 -6
  13. data/Rakefile +10 -6
  14. data/docs/graphql.md +1 -1
  15. data/docs/index.md +1 -1
  16. data/lib/active_resource/connection_ext.rb +1 -0
  17. data/lib/active_resource/detailed_log_subscriber.rb +6 -7
  18. data/lib/active_resource/json_errors.rb +8 -2
  19. data/lib/shopify_api.rb +8 -1
  20. data/lib/shopify_api/api_access.rb +57 -0
  21. data/lib/shopify_api/api_version.rb +6 -5
  22. data/lib/shopify_api/connection.rb +1 -0
  23. data/lib/shopify_api/countable.rb +3 -2
  24. data/lib/shopify_api/disable_prefix_check.rb +2 -2
  25. data/lib/shopify_api/events.rb +2 -1
  26. data/lib/shopify_api/graphql.rb +8 -6
  27. data/lib/shopify_api/limits.rb +3 -2
  28. data/lib/shopify_api/message_enricher.rb +11 -9
  29. data/lib/shopify_api/meta.rb +0 -1
  30. data/lib/shopify_api/metafields.rb +5 -4
  31. data/lib/shopify_api/pagination_link_headers.rb +4 -3
  32. data/lib/shopify_api/resources.rb +1 -0
  33. data/lib/shopify_api/resources/access_scope.rb +1 -1
  34. data/lib/shopify_api/resources/access_token.rb +1 -0
  35. data/lib/shopify_api/resources/address.rb +1 -0
  36. data/lib/shopify_api/resources/announcement.rb +2 -1
  37. data/lib/shopify_api/resources/application_charge.rb +1 -0
  38. data/lib/shopify_api/resources/application_credit.rb +1 -0
  39. data/lib/shopify_api/resources/article.rb +3 -2
  40. data/lib/shopify_api/resources/asset.rb +6 -5
  41. data/lib/shopify_api/resources/assigned_fulfillment_order.rb +1 -1
  42. data/lib/shopify_api/resources/base.rb +11 -6
  43. data/lib/shopify_api/resources/billing_address.rb +1 -0
  44. data/lib/shopify_api/resources/blog.rb +2 -1
  45. data/lib/shopify_api/resources/carrier_service.rb +1 -0
  46. data/lib/shopify_api/resources/cart.rb +2 -1
  47. data/lib/shopify_api/resources/collect.rb +1 -0
  48. data/lib/shopify_api/resources/collection_listing.rb +1 -0
  49. data/lib/shopify_api/resources/comment.rb +20 -5
  50. data/lib/shopify_api/resources/country.rb +1 -0
  51. data/lib/shopify_api/resources/custom_collection.rb +4 -3
  52. data/lib/shopify_api/resources/customer.rb +2 -1
  53. data/lib/shopify_api/resources/customer_group.rb +1 -0
  54. data/lib/shopify_api/resources/customer_invite.rb +1 -0
  55. data/lib/shopify_api/resources/customer_saved_search.rb +2 -1
  56. data/lib/shopify_api/resources/discount_code.rb +1 -0
  57. data/lib/shopify_api/resources/discount_code_batch.rb +4 -2
  58. data/lib/shopify_api/resources/draft_order.rb +1 -0
  59. data/lib/shopify_api/resources/draft_order_invoice.rb +1 -0
  60. data/lib/shopify_api/resources/event.rb +1 -0
  61. data/lib/shopify_api/resources/fulfillment.rb +12 -3
  62. data/lib/shopify_api/resources/fulfillment_event.rb +1 -0
  63. data/lib/shopify_api/resources/fulfillment_order.rb +30 -16
  64. data/lib/shopify_api/resources/fulfillment_order_locations_for_move.rb +1 -0
  65. data/lib/shopify_api/resources/fulfillment_request.rb +1 -0
  66. data/lib/shopify_api/resources/fulfillment_service.rb +1 -0
  67. data/lib/shopify_api/resources/fulfillment_v2.rb +3 -2
  68. data/lib/shopify_api/resources/gift_card.rb +1 -0
  69. data/lib/shopify_api/resources/image.rb +2 -1
  70. data/lib/shopify_api/resources/inventory_level.rb +2 -3
  71. data/lib/shopify_api/resources/line_item.rb +4 -3
  72. data/lib/shopify_api/resources/location.rb +1 -1
  73. data/lib/shopify_api/resources/marketing_event.rb +1 -0
  74. data/lib/shopify_api/resources/metafield.rb +1 -0
  75. data/lib/shopify_api/resources/note_attribute.rb +1 -0
  76. data/lib/shopify_api/resources/option.rb +1 -0
  77. data/lib/shopify_api/resources/order.rb +2 -1
  78. data/lib/shopify_api/resources/order_risk.rb +1 -0
  79. data/lib/shopify_api/resources/page.rb +1 -0
  80. data/lib/shopify_api/resources/payment_details.rb +1 -0
  81. data/lib/shopify_api/resources/policy.rb +1 -0
  82. data/lib/shopify_api/resources/price_rule.rb +1 -1
  83. data/lib/shopify_api/resources/product.rb +14 -11
  84. data/lib/shopify_api/resources/product_listing.rb +1 -0
  85. data/lib/shopify_api/resources/province.rb +1 -0
  86. data/lib/shopify_api/resources/receipt.rb +1 -0
  87. data/lib/shopify_api/resources/recurring_application_charge.rb +4 -1
  88. data/lib/shopify_api/resources/redirect.rb +1 -0
  89. data/lib/shopify_api/resources/refund.rb +2 -1
  90. data/lib/shopify_api/resources/report.rb +1 -0
  91. data/lib/shopify_api/resources/resource_feedback.rb +1 -1
  92. data/lib/shopify_api/resources/rule.rb +1 -0
  93. data/lib/shopify_api/resources/script_tag.rb +1 -0
  94. data/lib/shopify_api/resources/shipping_address.rb +1 -0
  95. data/lib/shopify_api/resources/shipping_line.rb +1 -0
  96. data/lib/shopify_api/resources/shipping_zone.rb +1 -0
  97. data/lib/shopify_api/resources/shop.rb +2 -1
  98. data/lib/shopify_api/resources/smart_collection.rb +2 -2
  99. data/lib/shopify_api/resources/storefront_access_token.rb +1 -0
  100. data/lib/shopify_api/resources/tax_line.rb +1 -0
  101. data/lib/shopify_api/resources/tax_service.rb +1 -0
  102. data/lib/shopify_api/resources/theme.rb +1 -0
  103. data/lib/shopify_api/resources/transaction.rb +1 -0
  104. data/lib/shopify_api/resources/usage_charge.rb +1 -0
  105. data/lib/shopify_api/resources/user.rb +1 -0
  106. data/lib/shopify_api/resources/variant.rb +16 -18
  107. data/lib/shopify_api/resources/webhook.rb +1 -0
  108. data/lib/shopify_api/session.rb +20 -12
  109. data/lib/shopify_api/version.rb +2 -1
  110. data/lib/verify_docs.rb +1 -0
  111. data/service.yml +1 -1
  112. data/shopify_api.gemspec +10 -4
  113. data/test/access_token_test.rb +6 -5
  114. data/test/active_resource/json_errors_test.rb +6 -6
  115. data/test/api_access_test.rb +153 -0
  116. data/test/api_version_test.rb +3 -3
  117. data/test/application_charge_test.rb +30 -27
  118. data/test/application_credit_test.rb +10 -9
  119. data/test/article_test.rb +34 -35
  120. data/test/asset_test.rb +14 -6
  121. data/test/assigned_fulfillment_order_test.rb +5 -4
  122. data/test/base_test.rb +55 -56
  123. data/test/blog_test.rb +4 -3
  124. data/test/carrier_service_test.rb +7 -6
  125. data/test/cart_test.rb +2 -1
  126. data/test/collect_test.rb +4 -3
  127. data/test/collection_listing_test.rb +21 -16
  128. data/test/collection_publication_test.rb +8 -8
  129. data/test/collection_test.rb +20 -19
  130. data/test/countable_test.rb +3 -2
  131. data/test/currency_test.rb +5 -5
  132. data/test/custom_collection_test.rb +4 -3
  133. data/test/customer_saved_search_test.rb +18 -8
  134. data/test/customer_test.rb +22 -14
  135. data/test/detailed_log_subscriber_test.rb +15 -11
  136. data/test/discount_code_batch_test.rb +11 -10
  137. data/test/discount_code_test.rb +21 -15
  138. data/test/draft_order_test.rb +68 -52
  139. data/test/fixtures/assigned_fulfillment_orders.json +2 -0
  140. data/test/fixtures/fulfillment_order.json +1 -0
  141. data/test/fixtures/fulfillment_orders.json +2 -0
  142. data/test/fulfillment_event_test.rb +31 -26
  143. data/test/fulfillment_order_test.rb +215 -147
  144. data/test/fulfillment_order_test_helper.rb +1 -0
  145. data/test/fulfillment_request_test.rb +10 -8
  146. data/test/fulfillment_service_test.rb +13 -12
  147. data/test/fulfillment_test.rb +81 -66
  148. data/test/fulfillment_v2_test.rb +16 -12
  149. data/test/gift_card_test.rb +6 -4
  150. data/test/graphql_test.rb +27 -27
  151. data/test/image_test.rb +19 -17
  152. data/test/inventory_level_test.rb +24 -15
  153. data/test/lib/webmock_extensions/last_request.rb +1 -1
  154. data/test/limits_test.rb +2 -1
  155. data/test/location_test.rb +2 -1
  156. data/test/marketing_event_test.rb +20 -20
  157. data/test/message_enricher_test.rb +6 -6
  158. data/test/meta_test.rb +7 -9
  159. data/test/metafield_test.rb +30 -20
  160. data/test/order_risk_test.rb +17 -16
  161. data/test/order_test.rb +43 -28
  162. data/test/pagination_test.rb +89 -56
  163. data/test/policy_test.rb +6 -5
  164. data/test/price_rule_test.rb +20 -15
  165. data/test/product_listing_test.rb +20 -20
  166. data/test/product_publication_test.rb +8 -8
  167. data/test/product_test.rb +44 -32
  168. data/test/publication_test.rb +3 -3
  169. data/test/recurring_application_charge_test.rb +104 -42
  170. data/test/redirect_test.rb +4 -3
  171. data/test/refund_test.rb +22 -17
  172. data/test/report_test.rb +12 -10
  173. data/test/resource_feedback_test.rb +14 -13
  174. data/test/script_tag_test.rb +10 -9
  175. data/test/session_test.rb +74 -46
  176. data/test/shipping_zone_test.rb +4 -3
  177. data/test/shop_test.rb +47 -33
  178. data/test/smart_collection_test.rb +5 -4
  179. data/test/storefront_access_token_test.rb +13 -15
  180. data/test/tax_service_test.rb +7 -4
  181. data/test/tender_transaction_test.rb +3 -3
  182. data/test/test_helper.rb +13 -11
  183. data/test/transaction_test.rb +4 -3
  184. data/test/usage_charge_test.rb +12 -8
  185. data/test/user_test.rb +4 -3
  186. data/test/variant_test.rb +23 -54
  187. data/test/webhook_test.rb +10 -7
  188. metadata +14 -9
  189. data/.rubocop-https---shopify-github-io-ruby-style-guide-rubocop-yml +0 -1027
  190. data/.travis.yml +0 -28
@@ -4,30 +4,31 @@ require 'test_helper'
4
4
  class DiscountCodeBatchTest < Test::Unit::TestCase
5
5
  def setup
6
6
  super
7
- fake 'price_rules/102586120/batch/989355119', body: load_fixture('discount_code_batch')
7
+ fake('price_rules/102586120/batch/989355119', body: load_fixture('discount_code_batch'))
8
8
  end
9
9
 
10
10
  def test_get_batch
11
- batch = ShopifyAPI::DiscountCodeBatch.find 989355119, params: { price_rule_id: 102586120 }
11
+ batch = ShopifyAPI::DiscountCodeBatch.find(989355119, params: { price_rule_id: 102586120 })
12
12
 
13
- assert_equal 989355119, batch.id
13
+ assert_equal(989355119, batch.id)
14
14
  end
15
15
 
16
16
  def test_get_batch_discount_codes
17
- fake 'price_rules/102586120/batch/989355119/discount_codes',
17
+ fake(
18
+ 'price_rules/102586120/batch/989355119/discount_codes',
18
19
  method: :get,
19
20
  status: 200,
20
21
  body: load_fixture('discount_code_batch_discount_codes')
21
-
22
- batch = ShopifyAPI::DiscountCodeBatch.find 989355119, params: { price_rule_id: 102586120 }
22
+ )
23
+ batch = ShopifyAPI::DiscountCodeBatch.find(989355119, params: { price_rule_id: 102586120 })
23
24
  discount_code_job = batch.discount_code_job
24
25
 
25
- assert_equal 3, discount_code_job.count
26
- assert discount_code_job[2].errors.present?
26
+ assert_equal(3, discount_code_job.count)
27
+ assert(discount_code_job[2].errors.present?)
27
28
  end
28
29
 
29
30
  def test_create_batch
30
- fake 'price_rules/102586120/batch', method: :post, status: 201, body: load_fixture('discount_code_batch')
31
+ fake('price_rules/102586120/batch', method: :post, status: 201, body: load_fixture('discount_code_batch'))
31
32
  batch = ShopifyAPI::DiscountCodeBatch.new
32
33
  batch.prefix_options[:price_rule_id] = 102586120
33
34
  discount_codes = [{ "code": "SUMMER1" }, { "code": "SUMMER2" }, { "code": "SUMMER3" }]
@@ -35,6 +36,6 @@ class DiscountCodeBatchTest < Test::Unit::TestCase
35
36
  batch.save
36
37
 
37
38
  expected_body = { discount_codes: discount_codes }.to_json
38
- assert_equal expected_body, WebMock.last_request.body
39
+ assert_equal(expected_body, WebMock.last_request.body)
39
40
  end
40
41
  end
@@ -1,36 +1,37 @@
1
+ # frozen_string_literal: true
1
2
  require 'test_helper'
2
3
 
3
4
  class DiscountCodeTest < Test::Unit::TestCase
4
5
  def setup
5
6
  super
6
- fake 'price_rules/102586120/discount_codes/1002091923', body: load_fixture('discount_code')
7
+ fake('price_rules/102586120/discount_codes/1002091923', body: load_fixture('discount_code'))
7
8
 
8
- @discount_code = ShopifyAPI::DiscountCode.find(1002091923, params: {price_rule_id: 102586120})
9
+ @discount_code = ShopifyAPI::DiscountCode.find(1002091923, params: { price_rule_id: 102586120 })
9
10
  end
10
11
 
11
12
  def test_get_discount_code
12
- fake 'price_rules/102586120/discount_codes', method: :get, status: 200, body: load_fixture('discount_code')
13
- discount_code = ShopifyAPI::DiscountCode.find 1002091923, params: { price_rule_id: 102586120 }
13
+ fake('price_rules/102586120/discount_codes', method: :get, status: 200, body: load_fixture('discount_code'))
14
+ discount_code = ShopifyAPI::DiscountCode.find(1002091923, params: { price_rule_id: 102586120 })
14
15
 
15
- assert_equal 1002091923, discount_code.id
16
+ assert_equal(1002091923, discount_code.id)
16
17
  end
17
18
 
18
19
  def test_get_all_discount_codes
19
- fake 'price_rules/102586120/discount_codes', method: :get, status: 200, body: load_fixture('discount_codes')
20
- discount_codes = ShopifyAPI::DiscountCode.all params: { price_rule_id: 102586120 }
20
+ fake('price_rules/102586120/discount_codes', method: :get, status: 200, body: load_fixture('discount_codes'))
21
+ discount_codes = ShopifyAPI::DiscountCode.all(params: { price_rule_id: 102586120 })
21
22
 
22
- assert_equal 1, discount_codes.length
23
- assert_equal 1002091923, discount_codes.first.id
23
+ assert_equal(1, discount_codes.length)
24
+ assert_equal(1002091923, discount_codes.first.id)
24
25
  end
25
26
 
26
27
  def test_create_discount_code
27
- fake 'price_rules/102586120/discount_codes', method: :post, status: 201, body: load_fixture('discount_code')
28
+ fake('price_rules/102586120/discount_codes', method: :post, status: 201, body: load_fixture('discount_code'))
28
29
  discount_code = ShopifyAPI::DiscountCode.new
29
30
  discount_code.prefix_options[:price_rule_id] = 102586120
30
31
  discount_code.code = "SUMMERSALE10"
31
32
  discount_code.save
32
33
 
33
- assert_equal '{"discount_code":{"code":"SUMMERSALE10"}}', WebMock.last_request.body
34
+ assert_equal('{"discount_code":{"code":"SUMMERSALE10"}}', WebMock.last_request.body)
34
35
  end
35
36
 
36
37
  def test_update_discount_code
@@ -38,16 +39,21 @@ class DiscountCodeTest < Test::Unit::TestCase
38
39
  discount_code_response['discount_code']['code'] = "WINTERSALE50"
39
40
  @discount_code.code = "WINTERSALE50"
40
41
 
41
- fake 'price_rules/102586120/discount_codes/1002091923', method: :put, status: 200, body: ActiveSupport::JSON.encode(discount_code_response)
42
+ fake(
43
+ 'price_rules/102586120/discount_codes/1002091923',
44
+ method: :put,
45
+ status: 200,
46
+ body: ActiveSupport::JSON.encode(discount_code_response)
47
+ )
42
48
 
43
49
  @discount_code.save
44
50
 
45
- assert_equal discount_code_response['discount_code']['code'], @discount_code.code
51
+ assert_equal(discount_code_response['discount_code']['code'], @discount_code.code)
46
52
  end
47
53
 
48
54
  def test_delete_discount_code
49
- fake 'price_rules/102586120/discount_codes/1002091923', method: :delete, body: 'destroyed'
55
+ fake('price_rules/102586120/discount_codes/1002091923', method: :delete, body: 'destroyed')
50
56
 
51
- assert @discount_code.destroy
57
+ assert(@discount_code.destroy)
52
58
  end
53
59
  end
@@ -1,151 +1,167 @@
1
+ # frozen_string_literal: true
1
2
  require 'test_helper'
2
3
 
3
4
  class DraftOrderTest < Test::Unit::TestCase
4
5
  def setup
5
6
  super
6
7
 
7
- fake 'draft_orders/517119332', body: load_fixture('draft_order')
8
+ fake('draft_orders/517119332', body: load_fixture('draft_order'))
8
9
 
9
10
  @draft_order = ShopifyAPI::DraftOrder.find(517119332)
10
11
  end
11
12
 
12
13
  def test_get_draft_order
13
- fake 'draft_orders/517119332', method: :get, status: 200, body: load_fixture('draft_order')
14
+ fake('draft_orders/517119332', method: :get, status: 200, body: load_fixture('draft_order'))
14
15
 
15
16
  draft_order = ShopifyAPI::DraftOrder.find(517119332)
16
17
 
17
- assert_equal 517119332, draft_order.id
18
+ assert_equal(517119332, draft_order.id)
18
19
  end
19
20
 
20
21
  def test_get_all_draft_orders
21
- fake 'draft_orders', method: :get, status: 200, body: load_fixture('draft_orders')
22
+ fake('draft_orders', method: :get, status: 200, body: load_fixture('draft_orders'))
22
23
 
23
24
  draft_orders = ShopifyAPI::DraftOrder.all
24
25
 
25
- assert_equal 1, draft_orders.length
26
- assert_equal 517119332, draft_orders.first.id
26
+ assert_equal(1, draft_orders.length)
27
+ assert_equal(517119332, draft_orders.first.id)
27
28
  end
28
29
 
29
30
  def test_get_count_draft_orders
30
- fake 'draft_orders/count', method: :get, status: 200, body: '{"count": 16}'
31
+ fake('draft_orders/count', method: :get, status: 200, body: '{"count": 16}')
31
32
 
32
33
  draft_orders_count = ShopifyAPI::DraftOrder.count
33
34
 
34
- assert_equal 16, draft_orders_count
35
+ assert_equal(16, draft_orders_count)
35
36
  end
36
37
 
37
38
  def test_create_draft_order
38
- fake 'draft_orders', method: :post, status: 201, body: load_fixture('draft_order')
39
+ fake('draft_orders', method: :post, status: 201, body: load_fixture('draft_order'))
39
40
 
40
41
  draft_order = ShopifyAPI::DraftOrder.create(line_items: [{ quantity: 1, variant_id: 39072856 }])
41
42
 
42
- assert_equal '{"draft_order":{"line_items":[{"quantity":1,"variant_id":39072856}]}}', WebMock.last_request.body
43
- assert_equal 39072856, draft_order.line_items.first.variant_id
43
+ assert_equal('{"draft_order":{"line_items":[{"quantity":1,"variant_id":39072856}]}}', WebMock.last_request.body)
44
+ assert_equal(39072856, draft_order.line_items.first.variant_id)
44
45
  end
45
46
 
46
47
  def test_create_draft_order_202
47
- fake 'draft_orders', method: :post, status: 202, body: load_fixture('draft_order')
48
+ fake('draft_orders', method: :post, status: 202, body: load_fixture('draft_order'))
48
49
 
49
50
  draft_order = ShopifyAPI::DraftOrder.create(line_items: [{ quantity: 1, variant_id: 39072856 }])
50
51
 
51
- assert_equal 39072856, draft_order.line_items.first.variant_id
52
+ assert_equal(39072856, draft_order.line_items.first.variant_id)
52
53
  end
53
54
 
54
55
  def test_update_draft_order
55
56
  draft_order_response = ActiveSupport::JSON.decode(load_fixture('draft_order'))
56
57
  draft_order_response['draft_order']['note'] = 'Test new note'
57
58
  @draft_order.note = 'Test new note'
58
- fake 'draft_orders/517119332', method: :put, status: 200, body: ActiveSupport::JSON.encode(draft_order_response)
59
+ fake('draft_orders/517119332', method: :put, status: 200, body: ActiveSupport::JSON.encode(draft_order_response))
59
60
 
60
61
  @draft_order.save
61
62
 
62
- assert_equal draft_order_response['draft_order']['note'], @draft_order.note
63
+ assert_equal(draft_order_response['draft_order']['note'], @draft_order.note)
63
64
  end
64
65
 
65
66
  def test_send_invoice_with_no_params
66
67
  draft_order_invoice_fixture = load_fixture('draft_order_invoice')
67
68
  draft_order_invoice = ActiveSupport::JSON.decode(draft_order_invoice_fixture)
68
- fake 'draft_orders/517119332/send_invoice', method: :post, body: draft_order_invoice_fixture
69
+ fake('draft_orders/517119332/send_invoice', method: :post, body: draft_order_invoice_fixture)
69
70
 
70
71
  draft_order_invoice_response = @draft_order.send_invoice
71
72
 
72
- assert_equal '{"draft_order_invoice":{}}', WebMock.last_request.body
73
- assert_kind_of ShopifyAPI::DraftOrderInvoice, draft_order_invoice_response
74
- assert_equal draft_order_invoice['draft_order_invoice']['to'], draft_order_invoice_response.to
73
+ assert_equal('{"draft_order_invoice":{}}', WebMock.last_request.body)
74
+ assert_kind_of(ShopifyAPI::DraftOrderInvoice, draft_order_invoice_response)
75
+ assert_equal(draft_order_invoice['draft_order_invoice']['to'], draft_order_invoice_response.to)
75
76
  end
76
77
 
77
78
  def test_send_invoice_with_params
78
79
  draft_order_invoice_fixture = load_fixture('draft_order_invoice')
79
80
  draft_order_invoice = ActiveSupport::JSON.decode(draft_order_invoice_fixture)
80
- fake 'draft_orders/517119332/send_invoice', method: :post, body: draft_order_invoice_fixture
81
+ fake('draft_orders/517119332/send_invoice', method: :post, body: draft_order_invoice_fixture)
81
82
 
82
- draft_order_invoice_response = @draft_order.send_invoice(ShopifyAPI::DraftOrderInvoice.new(draft_order_invoice['draft_order_invoice']))
83
+ draft_order_invoice_response = @draft_order.send_invoice(
84
+ ShopifyAPI::DraftOrderInvoice.new(draft_order_invoice['draft_order_invoice'])
85
+ )
83
86
 
84
- assert_equal draft_order_invoice, ActiveSupport::JSON.decode(WebMock.last_request.body)
85
- assert_kind_of ShopifyAPI::DraftOrderInvoice, draft_order_invoice_response
86
- assert_equal draft_order_invoice['draft_order_invoice']['to'], draft_order_invoice_response.to
87
+ assert_equal(draft_order_invoice, ActiveSupport::JSON.decode(WebMock.last_request.body))
88
+ assert_kind_of(ShopifyAPI::DraftOrderInvoice, draft_order_invoice_response)
89
+ assert_equal(draft_order_invoice['draft_order_invoice']['to'], draft_order_invoice_response.to)
87
90
  end
88
91
 
89
92
  def test_delete_draft_order
90
- fake 'draft_orders/517119332', method: :delete, body: 'destroyed'
91
- assert @draft_order.destroy
93
+ fake('draft_orders/517119332', method: :delete, body: 'destroyed')
94
+ assert(@draft_order.destroy)
92
95
  end
93
96
 
94
97
  def test_add_metafields_to_draft_order
95
- fake 'draft_orders/517119332/metafields', method: :post, status: 201, body: load_fixture('metafield')
96
-
97
- field = @draft_order.add_metafield(ShopifyAPI::Metafield.new(namespace: 'contact', key: 'email', value: '123@example.com', value_type: 'string'))
98
-
99
- assert_equal ActiveSupport::JSON.decode('{"metafield":{"namespace":"contact","key":"email","value":"123@example.com","value_type":"string"}}'), ActiveSupport::JSON.decode(WebMock.last_request.body)
100
- assert !field.new_record?
101
- assert_equal 'contact', field.namespace
102
- assert_equal 'email', field.key
103
- assert_equal '123@example.com', field.value
98
+ fake('draft_orders/517119332/metafields', method: :post, status: 201, body: load_fixture('metafield'))
99
+
100
+ field = @draft_order.add_metafield(
101
+ ShopifyAPI::Metafield.new(namespace: 'contact', key: 'email', value: '123@example.com', value_type: 'string')
102
+ )
103
+
104
+ assert_equal(
105
+ ActiveSupport::JSON.decode(
106
+ '{"metafield":{"namespace":"contact","key":"email","value":"123@example.com","value_type":"string"}}'
107
+ ),
108
+ ActiveSupport::JSON.decode(WebMock.last_request.body)
109
+ )
110
+ assert(!field.new_record?)
111
+ assert_equal('contact', field.namespace)
112
+ assert_equal('email', field.key)
113
+ assert_equal('123@example.com', field.value)
104
114
  end
105
115
 
106
116
  def test_get_all_metafields_for_draft_order
107
- fake 'draft_orders/517119332/metafields', body: load_fixture('metafields')
117
+ fake('draft_orders/517119332/metafields', body: load_fixture('metafields'))
108
118
 
109
119
  metafields = @draft_order.metafields
110
120
 
111
- assert_equal 3, metafields.length
112
- assert metafields.all? { |m| m.is_a?(ShopifyAPI::Metafield) }
121
+ assert_equal(3, metafields.length)
122
+ assert(metafields.all? { |m| m.is_a?(ShopifyAPI::Metafield) })
113
123
  end
114
124
 
115
125
  def test_get_2_metafields_for_draft_order
116
- body = ActiveSupport::JSON.decode load_fixture 'metafields'
117
- body['metafields'].slice! 2, 1
126
+ body = ActiveSupport::JSON.decode(load_fixture('metafields'))
127
+ body['metafields'].slice!(2, 1)
118
128
 
119
- fake 'draft_orders/517119332/metafields.json?limit=2', body: body.to_json, extension: false
129
+ fake('draft_orders/517119332/metafields.json?limit=2', body: body.to_json, extension: false)
120
130
 
121
- metafields = @draft_order.metafields limit: 2
131
+ metafields = @draft_order.metafields(limit: 2)
122
132
 
123
- assert_equal 2, metafields.length
124
- assert metafields.all?{ |m| m.is_a? ShopifyAPI::Metafield }
133
+ assert_equal(2, metafields.length)
134
+ assert(metafields.all? { |m| m.is_a?(ShopifyAPI::Metafield) })
125
135
  end
126
136
 
127
137
  def test_complete_draft_order_with_no_params
128
138
  completed_fixture = load_fixture('draft_order_completed')
129
139
  completed_draft = ActiveSupport::JSON.decode(completed_fixture)['draft_order']
130
- fake 'draft_orders/517119332/complete', method: :put, status: 200, body: completed_fixture
140
+ fake('draft_orders/517119332/complete', method: :put, status: 200, body: completed_fixture)
131
141
 
132
142
  @draft_order.complete
133
143
 
134
- assert_equal completed_draft['status'], @draft_order.status
135
- assert_equal completed_draft['order_id'], @draft_order.order_id
136
- refute_nil @draft_order.completed_at
144
+ assert_equal(completed_draft['status'], @draft_order.status)
145
+ assert_equal(completed_draft['order_id'], @draft_order.order_id)
146
+ refute_nil(@draft_order.completed_at)
137
147
  end
138
148
 
139
149
  def test_complete_draft_order_with_params
140
150
  completed_fixture = load_fixture('draft_order_completed')
141
151
  completed_draft = ActiveSupport::JSON.decode(completed_fixture)['draft_order']
142
152
  complete_params = { payment_pending: true }
143
- fake 'draft_orders/517119332/complete.json?payment_pending=true', extension: false, method: :put, status: 200, body: completed_fixture
153
+ fake(
154
+ 'draft_orders/517119332/complete.json?payment_pending=true',
155
+ extension: false,
156
+ method: :put,
157
+ status: 200,
158
+ body: completed_fixture
159
+ )
144
160
 
145
161
  @draft_order.complete(complete_params)
146
162
 
147
- assert_equal completed_draft['status'], @draft_order.status
148
- assert_equal completed_draft['order_id'], @draft_order.order_id
149
- refute_nil @draft_order.completed_at
163
+ assert_equal(completed_draft['status'], @draft_order.status)
164
+ assert_equal(completed_draft['order_id'], @draft_order.order_id)
165
+ refute_nil(@draft_order.completed_at)
150
166
  end
151
167
  end
@@ -13,6 +13,7 @@
13
13
  "assigned_location_id": 905684977,
14
14
  "request_status": "cancellation_accepted",
15
15
  "delivery_category": null,
16
+ "fulfill_at": null,
16
17
  "fulfillment_order_line_items": [
17
18
  {
18
19
  "id": 519788021,
@@ -51,6 +52,7 @@
51
52
  "assigned_location_id": 905684977,
52
53
  "request_status": "cancellation_accepted",
53
54
  "delivery_category": null,
55
+ "fulfill_at": null,
54
56
  "fulfillment_order_line_items": [
55
57
  {
56
58
  "id": 519788021,
@@ -12,6 +12,7 @@
12
12
  "assigned_location_id": 905684977,
13
13
  "request_status": "unsubmitted",
14
14
  "delivery_category": null,
15
+ "fulfill_at": null,
15
16
  "fulfillment_order_line_items": [
16
17
  {
17
18
  "id": 519788021,
@@ -13,6 +13,7 @@
13
13
  "assigned_location_id": 905684977,
14
14
  "request_status": "unsubmitted",
15
15
  "delivery_category": null,
16
+ "fulfill_at": null,
16
17
  "fulfillment_order_line_items": [
17
18
  {
18
19
  "id": 519788021,
@@ -51,6 +52,7 @@
51
52
  "assigned_location_id": 905684977,
52
53
  "request_status": "unsubmitted",
53
54
  "delivery_category": null,
55
+ "fulfill_at": null,
54
56
  "fulfillment_order_line_items": [
55
57
  {
56
58
  "id": 519788021,
@@ -1,34 +1,37 @@
1
+ # frozen_string_literal: true
1
2
  require 'test_helper'
2
3
 
3
4
  class FulFillmentEventTest < Test::Unit::TestCase
4
5
  def test_find_all_resources
5
- fake 'orders/450789469/fulfillments/255858046/events',
6
- method: :get,
7
- body: "[#{load_fixture('fulfillment_event')}]"
8
-
6
+ fake(
7
+ 'orders/450789469/fulfillments/255858046/events',
8
+ method: :get,
9
+ body: "[#{load_fixture('fulfillment_event')}]"
10
+ )
9
11
  events = ShopifyAPI::FulfillmentEvent.all(
10
12
  params: { fulfillment_id: 255858046, order_id: 450789469 }
11
13
  )
12
14
 
13
- assert_equal 1, events.count
15
+ assert_equal(1, events.count)
14
16
  end
15
17
 
16
18
  def test_find_a_resource
17
- fake 'orders/450789469/fulfillments/255858046/events/334455',
18
- method: :get,
19
- body: load_fixture('fulfillment_event')
20
-
19
+ fake(
20
+ 'orders/450789469/fulfillments/255858046/events/334455',
21
+ method: :get,
22
+ body: load_fixture('fulfillment_event')
23
+ )
21
24
  event = ShopifyAPI::FulfillmentEvent.find(
22
25
  334455, params: { fulfillment_id: 255858046, order_id: 450789469 }
23
26
  )
24
27
 
25
- assert_equal 'in_transit', event.status
26
- assert_equal 255858046, event.fulfillment_id
27
- assert_equal 450789469, event.order_id
28
+ assert_equal('in_transit', event.status)
29
+ assert_equal(255858046, event.fulfillment_id)
30
+ assert_equal(450789469, event.order_id)
28
31
  end
29
32
 
30
33
  def test_create_a_resource
31
- fake 'orders/450789469/fulfillments/255858046/events', method: :post, body: ''
34
+ fake('orders/450789469/fulfillments/255858046/events', method: :post, body: '')
32
35
 
33
36
  event = ShopifyAPI::FulfillmentEvent.new(
34
37
  fulfillment_id: 255858046,
@@ -36,34 +39,36 @@ class FulFillmentEventTest < Test::Unit::TestCase
36
39
  status: 'in_transit'
37
40
  )
38
41
 
39
- assert event.save
42
+ assert(event.save)
40
43
  end
41
44
 
42
45
  def test_update_a_resource
43
- fake 'orders/450789469/fulfillments/255858046/events/334455',
44
- method: :get,
45
- body: load_fixture('fulfillment_event')
46
-
46
+ fake(
47
+ 'orders/450789469/fulfillments/255858046/events/334455',
48
+ method: :get,
49
+ body: load_fixture('fulfillment_event')
50
+ )
47
51
  event = ShopifyAPI::FulfillmentEvent.find(
48
52
  334455, params: { fulfillment_id: 255858046, order_id: 450789469 }
49
53
  )
50
54
 
51
- fake 'orders/450789469/fulfillments/255858046/events/334455', method: :put, body: ''
55
+ fake('orders/450789469/fulfillments/255858046/events/334455', method: :put, body: '')
52
56
 
53
- assert event.save
57
+ assert(event.save)
54
58
  end
55
59
 
56
60
  def test_destroy_a_resource
57
- fake 'orders/450789469/fulfillments/255858046/events/334455',
58
- method: :get,
59
- body: load_fixture('fulfillment_event')
60
-
61
+ fake(
62
+ 'orders/450789469/fulfillments/255858046/events/334455',
63
+ method: :get,
64
+ body: load_fixture('fulfillment_event')
65
+ )
61
66
  event = ShopifyAPI::FulfillmentEvent.find(
62
67
  334455, params: { fulfillment_id: 255858046, order_id: 450789469 }
63
68
  )
64
69
 
65
- fake 'orders/450789469/fulfillments/255858046/events/334455', method: :delete, body: ''
70
+ fake('orders/450789469/fulfillments/255858046/events/334455', method: :delete, body: '')
66
71
 
67
- assert event.destroy
72
+ assert(event.destroy)
68
73
  end
69
74
  end