shopify_api 4.9.0 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +5 -5
  2. data/.github/CODEOWNERS +1 -0
  3. data/.github/probots.yml +2 -0
  4. data/.gitignore +3 -0
  5. data/.rubocop.yml +8 -0
  6. data/.travis.yml +0 -4
  7. data/CHANGELOG +67 -0
  8. data/README.md +48 -26
  9. data/lib/active_resource/detailed_log_subscriber.rb +25 -2
  10. data/lib/shopify_api/connection.rb +5 -3
  11. data/lib/shopify_api/limits.rb +1 -2
  12. data/lib/shopify_api/resources/abandoned_checkout.rb +7 -0
  13. data/lib/shopify_api/resources/access_scope.rb +5 -0
  14. data/lib/shopify_api/resources/api_permission.rb +9 -0
  15. data/lib/shopify_api/resources/asset.rb +8 -8
  16. data/lib/shopify_api/resources/billing_address.rb +1 -1
  17. data/lib/shopify_api/resources/checkout.rb +27 -1
  18. data/lib/shopify_api/resources/collection_publication.rb +10 -0
  19. data/lib/shopify_api/resources/currency.rb +6 -0
  20. data/lib/shopify_api/resources/custom_collection.rb +3 -3
  21. data/lib/shopify_api/resources/{customer_invite_message.rb → customer_invite.rb} +0 -0
  22. data/lib/shopify_api/resources/graphql.rb +22 -0
  23. data/lib/shopify_api/resources/image.rb +2 -2
  24. data/lib/shopify_api/resources/inventory_item.rb +6 -0
  25. data/lib/shopify_api/resources/inventory_level.rb +55 -0
  26. data/lib/shopify_api/resources/line_item.rb +9 -1
  27. data/lib/shopify_api/resources/location.rb +4 -0
  28. data/lib/shopify_api/resources/o_auth.rb +8 -0
  29. data/lib/shopify_api/resources/order.rb +16 -4
  30. data/lib/shopify_api/resources/payment.rb +7 -0
  31. data/lib/shopify_api/resources/ping.rb +3 -0
  32. data/lib/shopify_api/resources/ping/conversation.rb +42 -0
  33. data/lib/shopify_api/resources/ping/delivery_confirmation_details.rb +10 -0
  34. data/lib/shopify_api/resources/ping/message.rb +8 -0
  35. data/lib/shopify_api/resources/product.rb +4 -4
  36. data/lib/shopify_api/resources/product_publication.rb +10 -0
  37. data/lib/shopify_api/resources/publication.rb +5 -0
  38. data/lib/shopify_api/resources/shipping_line.rb +1 -1
  39. data/lib/shopify_api/resources/shipping_rate.rb +7 -0
  40. data/lib/shopify_api/resources/shop.rb +4 -4
  41. data/lib/shopify_api/resources/smart_collection.rb +6 -2
  42. data/lib/shopify_api/resources/tender_transaction.rb +6 -0
  43. data/lib/shopify_api/session.rb +16 -17
  44. data/lib/shopify_api/version.rb +1 -1
  45. data/service.yml +8 -0
  46. data/shopify_api.gemspec +4 -1
  47. data/test/abandoned_checkouts_test.rb +29 -0
  48. data/test/api_permission_test.rb +9 -0
  49. data/test/checkouts_test.rb +72 -4
  50. data/test/collection_publication_test.rb +40 -0
  51. data/test/currency_test.rb +21 -0
  52. data/test/detailed_log_subscriber_test.rb +19 -1
  53. data/test/fixtures/abandoned_checkout.json +184 -0
  54. data/test/fixtures/abandoned_checkouts.json +186 -0
  55. data/test/fixtures/checkout.json +160 -0
  56. data/test/fixtures/checkouts.json +25 -49
  57. data/test/fixtures/collection_publication.json +11 -0
  58. data/test/fixtures/collection_publications.json +13 -0
  59. data/test/fixtures/currencies.json +25 -0
  60. data/test/fixtures/inventory_level.json +7 -0
  61. data/test/fixtures/inventory_levels.json +24 -0
  62. data/test/fixtures/order_with_properties.json +373 -0
  63. data/test/fixtures/payment.json +7 -0
  64. data/test/fixtures/payments.json +9 -0
  65. data/test/fixtures/ping/conversation.json +1 -0
  66. data/test/fixtures/ping/failed_delivery_confirmation.json +1 -0
  67. data/test/fixtures/ping/message.json +1 -0
  68. data/test/fixtures/ping/successful_delivery_confirmation.json +1 -0
  69. data/test/fixtures/product_publication.json +11 -0
  70. data/test/fixtures/product_publications.json +13 -0
  71. data/test/fixtures/publications.json +9 -0
  72. data/test/fixtures/shipping_rates.json +12 -0
  73. data/test/fixtures/smart_collection_products.json +155 -0
  74. data/test/fixtures/tender_transactions.json +52 -0
  75. data/test/inventory_level_test.rb +59 -0
  76. data/test/location_test.rb +14 -0
  77. data/test/order_test.rb +29 -1
  78. data/test/payment_test.rb +19 -0
  79. data/test/ping/conversation_test.rb +71 -0
  80. data/test/ping/message_test.rb +23 -0
  81. data/test/product_publication_test.rb +40 -0
  82. data/test/product_test.rb +10 -0
  83. data/test/publication_test.rb +12 -0
  84. data/test/session_test.rb +11 -37
  85. data/test/shipping_rate_test.rb +17 -0
  86. data/test/smart_collection_test.rb +25 -0
  87. data/test/tender_transaction_test.rb +18 -0
  88. data/test/test_helper.rb +8 -5
  89. data/test/variant_test.rb +4 -1
  90. metadata +102 -10
  91. data/lib/shopify_api/resources/discount.rb +0 -11
  92. data/test/discount_test.rb +0 -52
  93. data/test/fixtures/discount.json +0 -17
  94. data/test/fixtures/discount_disabled.json +0 -17
  95. data/test/fixtures/discounts.json +0 -34
@@ -1,11 +0,0 @@
1
- module ShopifyAPI
2
- class Discount < Base
3
- def disable
4
- load_attributes_from_response(post(:disable))
5
- end
6
-
7
- def enable
8
- load_attributes_from_response(post(:enable))
9
- end
10
- end
11
- end
@@ -1,52 +0,0 @@
1
- require 'test_helper'
2
-
3
- class DiscountTest < Test::Unit::TestCase
4
- test 'get should get a discount' do
5
- fake 'discounts/680866', method: :get, status: 200, body: load_fixture('discount')
6
-
7
- discount = ShopifyAPI::Discount.find(680866)
8
- assert_equal 680866, discount.id
9
- end
10
-
11
- test 'get should get all discounts' do
12
- fake 'discounts', method: :get, status: 200, body: load_fixture('discounts')
13
-
14
- discounts = ShopifyAPI::Discount.all
15
- assert_equal 'TENOFF', discounts.first.code
16
- end
17
-
18
- test 'create should create a discount' do
19
- fake 'discounts', method: :post, status: 201, body: load_fixture('discount')
20
-
21
- discount = ShopifyAPI::Discount.create(code: 'TENOFF', discount_type: 'percentage')
22
- assert_equal 'TENOFF', discount.code
23
- end
24
-
25
- test 'should disable discount' do
26
- fake 'discounts/680866', method: :get, status: 200, body: load_fixture('discount')
27
- fake 'discounts/680866/disable', method: :post, status: 201, body: load_fixture('discount_disabled')
28
-
29
- discount = ShopifyAPI::Discount.find(680866)
30
- discount.disable
31
-
32
- assert_equal "disabled", discount.status
33
- end
34
-
35
- test 'should enable discount' do
36
- fake 'discounts/680866', method: :get, status: 200, body: load_fixture('discount')
37
- fake 'discounts/680866/enable', method: :post, status: 201, body: load_fixture('discount')
38
-
39
- discount = ShopifyAPI::Discount.find(680866)
40
- discount.enable
41
-
42
- assert_equal "enabled", discount.status
43
- end
44
-
45
- test 'delete should delete discount' do
46
- fake 'discounts/680866', method: :get, status: 200, body: load_fixture('discount')
47
- fake 'discounts/680866', method: :delete, status: 200, body: 'destroyed'
48
-
49
- discount = ShopifyAPI::Discount.find(680866)
50
- assert discount.destroy
51
- end
52
- end
@@ -1,17 +0,0 @@
1
- {
2
- "discount": {
3
- "id": 680866,
4
- "code": "TENOFF",
5
- "value": "10.0",
6
- "ends_at": null,
7
- "starts_at": null,
8
- "status": "enabled",
9
- "minimum_order_amount": "0.00",
10
- "usage_limit": null,
11
- "applies_to_id": null,
12
- "applies_once": false,
13
- "discount_type": "percentage",
14
- "applies_to_resource": null,
15
- "times_used": 1
16
- }
17
- }
@@ -1,17 +0,0 @@
1
- {
2
- "discount": {
3
- "id": 680866,
4
- "code": "TENOFF",
5
- "value": "10.0",
6
- "ends_at": null,
7
- "starts_at": null,
8
- "status": "disabled",
9
- "minimum_order_amount": "0.00",
10
- "usage_limit": null,
11
- "applies_to_id": null,
12
- "applies_once": false,
13
- "discount_type": "percentage",
14
- "applies_to_resource": null,
15
- "times_used": 1
16
- }
17
- }
@@ -1,34 +0,0 @@
1
- {
2
- "discounts": [
3
- {
4
- "id": 680866,
5
- "code": "TENOFF",
6
- "value": "10.0",
7
- "ends_at": null,
8
- "starts_at": null,
9
- "status": "enabled",
10
- "minimum_order_amount": "0.00",
11
- "usage_limit": null,
12
- "applies_to_id": null,
13
- "applies_once": false,
14
- "discount_type": "percentage",
15
- "applies_to_resource": null,
16
- "times_used": 1
17
- },
18
- {
19
- "id": 949676421,
20
- "code": "xyz",
21
- "value": "10.00",
22
- "ends_at": null,
23
- "starts_at": null,
24
- "status": "disabled",
25
- "minimum_order_amount": "0.00",
26
- "usage_limit": null,
27
- "applies_to_id": null,
28
- "applies_once": false,
29
- "discount_type": "fixed_amount",
30
- "applies_to_resource": null,
31
- "times_used": 0
32
- }
33
- ]
34
- }