shopify_api 4.9.0 → 5.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) 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 +63 -0
  8. data/README.md +36 -14
  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 +1 -1
  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/publication_test.rb +12 -0
  83. data/test/session_test.rb +11 -11
  84. data/test/shipping_rate_test.rb +17 -0
  85. data/test/smart_collection_test.rb +25 -0
  86. data/test/tender_transaction_test.rb +18 -0
  87. data/test/test_helper.rb +8 -5
  88. data/test/variant_test.rb +4 -1
  89. metadata +102 -10
  90. data/lib/shopify_api/resources/discount.rb +0 -11
  91. data/test/discount_test.rb +0 -52
  92. data/test/fixtures/discount.json +0 -17
  93. data/test/fixtures/discount_disabled.json +0 -17
  94. data/test/fixtures/discounts.json +0 -34
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
4
+
5
+ class PingMessageTest < Test::Unit::TestCase
6
+ def test_create_message
7
+ fake("api/ping-api/v1/conversations/123/messages",
8
+ method: :post,
9
+ body: load_fixture('ping/message'))
10
+
11
+ message = ShopifyAPI::Ping::Message.new(
12
+ dedupe_key: SecureRandom.uuid,
13
+ content: {
14
+ text: "Hello from shopify_api",
15
+ },
16
+ sender_id: 'test',
17
+ conversation_id: '123',
18
+ )
19
+
20
+ message.save
21
+ assert_equal("d0c7a2e6-8084-4e79-8483-e4a1352b81f7", message.id)
22
+ end
23
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+ require 'test_helper'
3
+
4
+ class ProductPublicationTest < Test::Unit::TestCase
5
+ def test_get_all_product_publications
6
+ fake 'publications/55650051/product_publications', body: load_fixture('product_publications')
7
+ product_publications = ShopifyAPI::ProductPublication.find(:all, params: { publication_id: 55650051 })
8
+
9
+ assert_equal 647162527768, product_publications.first.id
10
+ assert_equal 55650051, product_publications.first.publication_id
11
+ end
12
+
13
+ def test_get_product_publication
14
+ fake 'publications/55650051/product_publications/647162527768', body: load_fixture('product_publication')
15
+ product_publication = ShopifyAPI::ProductPublication.find(647162527768, params: { publication_id: 55650051 })
16
+
17
+ assert_equal 647162527768, product_publication.id
18
+ assert_equal 55650051, product_publication.publication_id
19
+ end
20
+
21
+ def test_create_product_publication
22
+ fake 'publications/55650051/product_publications', method: :post, body: load_fixture('product_publication')
23
+ ShopifyAPI::ProductPublication.create(
24
+ publication_id: 55650051,
25
+ published_at: "2018-01-29T14:06:08-05:00",
26
+ published: true,
27
+ product_id: 8267093571
28
+ )
29
+
30
+ expected_body = {
31
+ product_publication: {
32
+ published_at: "2018-01-29T14:06:08-05:00",
33
+ published: true,
34
+ product_id: 8267093571,
35
+ },
36
+ }.to_json
37
+
38
+ assert_equal expected_body, FakeWeb.last_request.body
39
+ end
40
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+ require 'test_helper'
3
+
4
+ class PublicationTest < Test::Unit::TestCase
5
+ def test_find_all_publications
6
+ fake 'publications'
7
+ publications = ShopifyAPI::Publication.find(:all)
8
+
9
+ assert_equal 55650051, publications.first.id
10
+ assert_equal "Buy Button", publications.first.name
11
+ end
12
+ end
data/test/session_test.rb CHANGED
@@ -214,33 +214,33 @@ class SessionTest < Test::Unit::TestCase
214
214
  end
215
215
 
216
216
  test "return true when the signature is valid and the keys of params are strings" do
217
- params = {"code" => "any-code", "timestamp" => Time.now}
218
- params["hmac"] = generate_signature(params)
217
+ params = { 'code' => 'any-code', 'timestamp' => Time.now }
218
+ params[:hmac] = generate_signature(params)
219
219
  assert_equal true, ShopifyAPI::Session.validate_signature(params)
220
220
  end
221
221
 
222
222
  test "return true when validating signature of params with ampersand and equal sign characters" do
223
223
  ShopifyAPI::Session.secret = 'secret'
224
- params = {'a' => '1&b=2', 'c=3&d' => '4'}
225
- to_sign = "a=1%26b=2&c%3D3%26d=4"
226
- params['hmac'] = generate_signature(to_sign)
227
-
224
+ params = { 'a' => '1&b=2', 'c=3&d' => '4' }
225
+ to_sign = 'a=1%26b=2&c%3D3%26d=4'
226
+ params[:hmac] = generate_signature(to_sign)
228
227
  assert_equal true, ShopifyAPI::Session.validate_signature(params)
229
228
  end
230
229
 
231
230
  test "return true when validating signature of params with percent sign characters" do
232
231
  ShopifyAPI::Session.secret = 'secret'
233
- params = {'a%3D1%26b' => '2%26c%3D3'}
234
- to_sign = "a%253D1%2526b=2%2526c%253D3"
235
- params['hmac'] = generate_signature(to_sign)
236
-
232
+ params = { 'a%3D1%26b' => '2%26c%3D3' }
233
+ to_sign = 'a%253D1%2526b=2%2526c%253D3'
234
+ params[:hmac] = generate_signature(to_sign)
237
235
  assert_equal true, ShopifyAPI::Session.validate_signature(params)
238
236
  end
239
237
 
240
238
  private
241
239
 
242
240
  def make_sorted_params(params)
243
- sorted_params = params.with_indifferent_access.except(:signature, :hmac, :action, :controller).collect{|k,v|"#{k}=#{v}"}.sort.join('&')
241
+ params.with_indifferent_access.except(
242
+ :signature, :hmac, :action, :controller
243
+ ).collect { |k, v| "#{k}=#{v}" }.sort.join('&')
244
244
  end
245
245
 
246
246
  def generate_signature(params)
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
4
+
5
+ class ShippingRateTest < Test::Unit::TestCase
6
+ test ":get lists all shipping rates for a given checkout" do
7
+ fake 'checkouts', method: :get, status: 200, body: load_fixture('checkouts')
8
+ checkouts = ShopifyAPI::Checkout.all
9
+
10
+ fake "checkouts/#{checkouts.first.id}/shipping_rates",
11
+ method: :get, status: 200, body: load_fixture('checkouts')
12
+ shipping_rates = ShopifyAPI::ShippingRate.find(:all, params: { checkout_id: checkouts.first.id })
13
+
14
+ assert_equal 2, shipping_rates.first.shipping_rates.length
15
+ assert_equal 'canada_post-INT.TP.BOGUS-4.00', shipping_rates.first.shipping_rates.first.id
16
+ end
17
+ end
@@ -7,4 +7,29 @@ class SmartCollectionTest < Test::Unit::TestCase
7
7
  smart_collection = ShopifyAPI::SmartCollection.create(:title => "Macbooks", :rules => rules)
8
8
  assert_equal 1063001432, smart_collection.id
9
9
  end
10
+
11
+ test "Smart Collection get products gets all products in a smart collection" do
12
+ fake "smart_collections/1063001432", method: :get, status: 200, body: load_fixture('smart_collection')
13
+ smart_collection = ShopifyAPI::SmartCollection.find(1063001432)
14
+
15
+ fake "products.json?collection_id=1063001432",
16
+ method: :get,
17
+ status: 200,
18
+ body:
19
+ load_fixture('smart_collection_products'),
20
+ extension: false
21
+ assert_equal [632910392, 921728736], smart_collection.products.map(&:id)
22
+ end
23
+
24
+ test "Smart Collection get products with only_sorted=only_manual gets only manually sorted products" do
25
+ fake "smart_collections/1063001432", method: :get, status: 200, body: load_fixture('smart_collection')
26
+ smart_collection = ShopifyAPI::SmartCollection.find(1063001432)
27
+
28
+ fake "smart_collections/1063001432/products.json?only_sorted=only_manual",
29
+ method: :get,
30
+ status: 200,
31
+ body: load_fixture('smart_collection_products'),
32
+ extension: false
33
+ assert_equal [632910392, 921728736], smart_collection.products(only_sorted: "only_manual").map(&:id)
34
+ end
10
35
  end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'test_helper'
4
+
5
+ class TenderTransactionTest < Test::Unit::TestCase
6
+ def setup
7
+ super
8
+ fake "tender_transactions", method: :get, body: load_fixture('tender_transactions')
9
+ end
10
+
11
+ context "Tender Transaction" do
12
+ should 'return a list of transactions' do
13
+ tender_transactions = ShopifyAPI::TenderTransaction.all
14
+ assert_equal 3, tender_transactions.length
15
+ assert_equal [1, 2, 3], tender_transactions.map(&:id)
16
+ end
17
+ end
18
+ end
data/test/test_helper.rb CHANGED
@@ -2,6 +2,7 @@ require 'rubygems'
2
2
  require 'minitest/autorun'
3
3
  require 'fakeweb'
4
4
  require 'mocha/setup'
5
+ require 'pry'
5
6
 
6
7
  $LOAD_PATH.unshift(File.dirname(__FILE__))
7
8
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
@@ -30,11 +31,13 @@ class Test::Unit::TestCase < Minitest::Unit::TestCase
30
31
 
31
32
  def setup
32
33
  ActiveResource::Base.format = :json
33
- ShopifyAPI.constants.each do |const|
34
- begin
35
- const = "ShopifyAPI::#{const}".constantize
36
- const.format = :json if const.respond_to?(:format=)
37
- rescue NameError
34
+ [ShopifyAPI, ShopifyAPI::Ping].each do |mod|
35
+ mod.constants.each do |const|
36
+ begin
37
+ const = mod.const_get(const)
38
+ const.format = :json if const.respond_to?(:format=)
39
+ rescue NameError
40
+ end
38
41
  end
39
42
  end
40
43
 
data/test/variant_test.rb CHANGED
@@ -5,19 +5,22 @@ class VariantTest < Test::Unit::TestCase
5
5
  def test_get_variants
6
6
  fake "products/632910392/variants", :method => :get, :body => load_fixture('variants')
7
7
 
8
- v = ShopifyAPI::Variant.find(:all, :params => {:product_id => 632910392})
8
+ variants = ShopifyAPI::Variant.find(:all, :params => { :product_id => 632910392 })
9
+ assert_equal variants.map(&:id).sort, [39072856, 49148385, 457924702, 808950810]
9
10
  end
10
11
 
11
12
  def test_get_variant_namespaced
12
13
  fake "products/632910392/variants/808950810", :method => :get, :body => load_fixture('variant')
13
14
 
14
15
  v = ShopifyAPI::Variant.find(808950810, :params => {:product_id => 632910392})
16
+ assert_equal 632910392, v.product_id
15
17
  end
16
18
 
17
19
  def test_get_variant
18
20
  fake "variants/808950810", :method => :get, :body => load_fixture('variant')
19
21
 
20
22
  v = ShopifyAPI::Variant.find(808950810)
23
+ assert_equal 632910392, v.product_id
21
24
  end
22
25
 
23
26
  def test_product_id_should_be_accessible_if_via_product_endpoint
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shopify_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.9.0
4
+ version: 5.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-29 00:00:00.000000000 Z
11
+ date: 2019-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeresource
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: graphql-client
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: mocha
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +122,34 @@ dependencies:
108
122
  - - ">="
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: pry-byebug
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
111
153
  description: The Shopify API gem allows Ruby developers to programmatically access
112
154
  the admin section of Shopify stores. The API is implemented as JSON or XML over
113
155
  HTTP using all four verbs (GET/POST/PUT/DELETE). Each resource, like Order, Product,
@@ -121,7 +163,10 @@ extra_rdoc_files:
121
163
  - README.md
122
164
  files:
123
165
  - ".document"
166
+ - ".github/CODEOWNERS"
167
+ - ".github/probots.yml"
124
168
  - ".gitignore"
169
+ - ".rubocop.yml"
125
170
  - ".travis.yml"
126
171
  - CHANGELOG
127
172
  - CONTRIBUTING.md
@@ -151,9 +196,12 @@ files:
151
196
  - lib/shopify_api/limits.rb
152
197
  - lib/shopify_api/metafields.rb
153
198
  - lib/shopify_api/resources.rb
199
+ - lib/shopify_api/resources/abandoned_checkout.rb
200
+ - lib/shopify_api/resources/access_scope.rb
154
201
  - lib/shopify_api/resources/access_token.rb
155
202
  - lib/shopify_api/resources/address.rb
156
203
  - lib/shopify_api/resources/announcement.rb
204
+ - lib/shopify_api/resources/api_permission.rb
157
205
  - lib/shopify_api/resources/application_charge.rb
158
206
  - lib/shopify_api/resources/application_credit.rb
159
207
  - lib/shopify_api/resources/article.rb
@@ -166,14 +214,15 @@ files:
166
214
  - lib/shopify_api/resources/checkout.rb
167
215
  - lib/shopify_api/resources/collect.rb
168
216
  - lib/shopify_api/resources/collection_listing.rb
217
+ - lib/shopify_api/resources/collection_publication.rb
169
218
  - lib/shopify_api/resources/comment.rb
170
219
  - lib/shopify_api/resources/country.rb
220
+ - lib/shopify_api/resources/currency.rb
171
221
  - lib/shopify_api/resources/custom_collection.rb
172
222
  - lib/shopify_api/resources/customer.rb
173
223
  - lib/shopify_api/resources/customer_group.rb
174
- - lib/shopify_api/resources/customer_invite_message.rb
224
+ - lib/shopify_api/resources/customer_invite.rb
175
225
  - lib/shopify_api/resources/customer_saved_search.rb
176
- - lib/shopify_api/resources/discount.rb
177
226
  - lib/shopify_api/resources/discount_code.rb
178
227
  - lib/shopify_api/resources/draft_order.rb
179
228
  - lib/shopify_api/resources/draft_order_invoice.rb
@@ -183,7 +232,10 @@ files:
183
232
  - lib/shopify_api/resources/fulfillment_request.rb
184
233
  - lib/shopify_api/resources/fulfillment_service.rb
185
234
  - lib/shopify_api/resources/gift_card.rb
235
+ - lib/shopify_api/resources/graphql.rb
186
236
  - lib/shopify_api/resources/image.rb
237
+ - lib/shopify_api/resources/inventory_item.rb
238
+ - lib/shopify_api/resources/inventory_level.rb
187
239
  - lib/shopify_api/resources/line_item.rb
188
240
  - lib/shopify_api/resources/location.rb
189
241
  - lib/shopify_api/resources/marketing_event.rb
@@ -194,12 +246,19 @@ files:
194
246
  - lib/shopify_api/resources/order.rb
195
247
  - lib/shopify_api/resources/order_risk.rb
196
248
  - lib/shopify_api/resources/page.rb
249
+ - lib/shopify_api/resources/payment.rb
197
250
  - lib/shopify_api/resources/payment_details.rb
251
+ - lib/shopify_api/resources/ping.rb
252
+ - lib/shopify_api/resources/ping/conversation.rb
253
+ - lib/shopify_api/resources/ping/delivery_confirmation_details.rb
254
+ - lib/shopify_api/resources/ping/message.rb
198
255
  - lib/shopify_api/resources/policy.rb
199
256
  - lib/shopify_api/resources/price_rule.rb
200
257
  - lib/shopify_api/resources/product.rb
201
258
  - lib/shopify_api/resources/product_listing.rb
259
+ - lib/shopify_api/resources/product_publication.rb
202
260
  - lib/shopify_api/resources/province.rb
261
+ - lib/shopify_api/resources/publication.rb
203
262
  - lib/shopify_api/resources/receipt.rb
204
263
  - lib/shopify_api/resources/recurring_application_charge.rb
205
264
  - lib/shopify_api/resources/redirect.rb
@@ -210,12 +269,14 @@ files:
210
269
  - lib/shopify_api/resources/script_tag.rb
211
270
  - lib/shopify_api/resources/shipping_address.rb
212
271
  - lib/shopify_api/resources/shipping_line.rb
272
+ - lib/shopify_api/resources/shipping_rate.rb
213
273
  - lib/shopify_api/resources/shipping_zone.rb
214
274
  - lib/shopify_api/resources/shop.rb
215
275
  - lib/shopify_api/resources/smart_collection.rb
216
276
  - lib/shopify_api/resources/storefront_access_token.rb
217
277
  - lib/shopify_api/resources/tax_line.rb
218
278
  - lib/shopify_api/resources/tax_service.rb
279
+ - lib/shopify_api/resources/tender_transaction.rb
219
280
  - lib/shopify_api/resources/theme.rb
220
281
  - lib/shopify_api/resources/transaction.rb
221
282
  - lib/shopify_api/resources/usage_charge.rb
@@ -224,10 +285,13 @@ files:
224
285
  - lib/shopify_api/resources/webhook.rb
225
286
  - lib/shopify_api/session.rb
226
287
  - lib/shopify_api/version.rb
288
+ - service.yml
227
289
  - shipit.rubygems.yml
228
290
  - shopify_api.gemspec
291
+ - test/abandoned_checkouts_test.rb
229
292
  - test/access_token_test.rb
230
293
  - test/active_resource/json_errors_test.rb
294
+ - test/api_permission_test.rb
231
295
  - test/application_charge_test.rb
232
296
  - test/application_credit_test.rb
233
297
  - test/article_test.rb
@@ -239,14 +303,17 @@ files:
239
303
  - test/checkouts_test.rb
240
304
  - test/collect_test.rb
241
305
  - test/collection_listing_test.rb
306
+ - test/collection_publication_test.rb
242
307
  - test/countable_test.rb
308
+ - test/currency_test.rb
243
309
  - test/custom_collection_test.rb
244
310
  - test/customer_saved_search_test.rb
245
311
  - test/customer_test.rb
246
312
  - test/detailed_log_subscriber_test.rb
247
313
  - test/discount_code_test.rb
248
- - test/discount_test.rb
249
314
  - test/draft_order_test.rb
315
+ - test/fixtures/abandoned_checkout.json
316
+ - test/fixtures/abandoned_checkouts.json
250
317
  - test/fixtures/access_token_delegate.json
251
318
  - test/fixtures/application_charge.json
252
319
  - test/fixtures/application_charges.json
@@ -261,11 +328,15 @@ files:
261
328
  - test/fixtures/blogs.json
262
329
  - test/fixtures/carrier_service.json
263
330
  - test/fixtures/carts.json
331
+ - test/fixtures/checkout.json
264
332
  - test/fixtures/checkouts.json
265
333
  - test/fixtures/collect.json
266
334
  - test/fixtures/collection_listing.json
267
335
  - test/fixtures/collection_listing_product_ids.json
268
336
  - test/fixtures/collection_listings.json
337
+ - test/fixtures/collection_publication.json
338
+ - test/fixtures/collection_publications.json
339
+ - test/fixtures/currencies.json
269
340
  - test/fixtures/custom_collection.json
270
341
  - test/fixtures/customer_invite.json
271
342
  - test/fixtures/customer_saved_search.json
@@ -273,11 +344,8 @@ files:
273
344
  - test/fixtures/customers.json
274
345
  - test/fixtures/customers_account_activation_url.json
275
346
  - test/fixtures/customers_search.json
276
- - test/fixtures/discount.json
277
347
  - test/fixtures/discount_code.json
278
348
  - test/fixtures/discount_codes.json
279
- - test/fixtures/discount_disabled.json
280
- - test/fixtures/discounts.json
281
349
  - test/fixtures/draft_order.json
282
350
  - test/fixtures/draft_order_completed.json
283
351
  - test/fixtures/draft_order_invoice.json
@@ -292,6 +360,8 @@ files:
292
360
  - test/fixtures/gift_card_disabled.json
293
361
  - test/fixtures/image.json
294
362
  - test/fixtures/images.json
363
+ - test/fixtures/inventory_level.json
364
+ - test/fixtures/inventory_levels.json
295
365
  - test/fixtures/marketing_event.json
296
366
  - test/fixtures/marketing_events.json
297
367
  - test/fixtures/metafield.json
@@ -300,7 +370,14 @@ files:
300
370
  - test/fixtures/order.json
301
371
  - test/fixtures/order_risk.json
302
372
  - test/fixtures/order_risks.json
373
+ - test/fixtures/order_with_properties.json
303
374
  - test/fixtures/orders.json
375
+ - test/fixtures/payment.json
376
+ - test/fixtures/payments.json
377
+ - test/fixtures/ping/conversation.json
378
+ - test/fixtures/ping/failed_delivery_confirmation.json
379
+ - test/fixtures/ping/message.json
380
+ - test/fixtures/ping/successful_delivery_confirmation.json
304
381
  - test/fixtures/policies.json
305
382
  - test/fixtures/price_rule.json
306
383
  - test/fixtures/price_rules.json
@@ -308,6 +385,9 @@ files:
308
385
  - test/fixtures/product_listing.json
309
386
  - test/fixtures/product_listing_product_ids.json
310
387
  - test/fixtures/product_listings.json
388
+ - test/fixtures/product_publication.json
389
+ - test/fixtures/product_publications.json
390
+ - test/fixtures/publications.json
311
391
  - test/fixtures/recurring_application_charge.json
312
392
  - test/fixtures/recurring_application_charge_adjustment.json
313
393
  - test/fixtures/recurring_application_charges.json
@@ -317,13 +397,16 @@ files:
317
397
  - test/fixtures/reports.json
318
398
  - test/fixtures/script_tag.json
319
399
  - test/fixtures/script_tags.json
400
+ - test/fixtures/shipping_rates.json
320
401
  - test/fixtures/shipping_zones.json
321
402
  - test/fixtures/shop.json
322
403
  - test/fixtures/smart_collection.json
404
+ - test/fixtures/smart_collection_products.json
323
405
  - test/fixtures/storefront_access_token.json
324
406
  - test/fixtures/storefront_access_tokens.json
325
407
  - test/fixtures/tags.json
326
408
  - test/fixtures/tax_service.json
409
+ - test/fixtures/tender_transactions.json
327
410
  - test/fixtures/transaction.json
328
411
  - test/fixtures/usage_charge.json
329
412
  - test/fixtures/usage_charges.json
@@ -339,16 +422,23 @@ files:
339
422
  - test/fulfillment_test.rb
340
423
  - test/gift_card_test.rb
341
424
  - test/image_test.rb
425
+ - test/inventory_level_test.rb
342
426
  - test/limits_test.rb
427
+ - test/location_test.rb
343
428
  - test/marketing_event_test.rb
344
429
  - test/metafield_test.rb
345
430
  - test/o_auth_test.rb
346
431
  - test/order_risk_test.rb
347
432
  - test/order_test.rb
433
+ - test/payment_test.rb
434
+ - test/ping/conversation_test.rb
435
+ - test/ping/message_test.rb
348
436
  - test/policy_test.rb
349
437
  - test/price_rule_test.rb
350
438
  - test/product_listing_test.rb
439
+ - test/product_publication_test.rb
351
440
  - test/product_test.rb
441
+ - test/publication_test.rb
352
442
  - test/recurring_application_charge_test.rb
353
443
  - test/redirect_test.rb
354
444
  - test/refund_test.rb
@@ -356,11 +446,13 @@ files:
356
446
  - test/resource_feedback_test.rb
357
447
  - test/script_tag_test.rb
358
448
  - test/session_test.rb
449
+ - test/shipping_rate_test.rb
359
450
  - test/shipping_zone_test.rb
360
451
  - test/shop_test.rb
361
452
  - test/smart_collection_test.rb
362
453
  - test/storefront_access_token_test.rb
363
454
  - test/tax_service_test.rb
455
+ - test/tender_transaction_test.rb
364
456
  - test/test_helper.rb
365
457
  - test/transaction_test.rb
366
458
  - test/usage_charge_test.rb
@@ -380,7 +472,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
380
472
  requirements:
381
473
  - - ">="
382
474
  - !ruby/object:Gem::Version
383
- version: '2.0'
475
+ version: '2.1'
384
476
  required_rubygems_version: !ruby/object:Gem::Requirement
385
477
  requirements:
386
478
  - - ">="
@@ -388,7 +480,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
388
480
  version: '0'
389
481
  requirements: []
390
482
  rubyforge_project:
391
- rubygems_version: 2.5.2
483
+ rubygems_version: 2.7.6
392
484
  signing_key:
393
485
  specification_version: 4
394
486
  summary: ShopifyAPI is a lightweight gem for accessing the Shopify admin REST web