shopify_api 4.0.7 → 4.1.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.
- checksums.yaml +4 -4
- data/lib/shopify_api/resources/recurring_application_charge.rb +8 -0
- data/lib/shopify_api/resources/usage_charge.rb +5 -0
- data/lib/shopify_api/version.rb +1 -1
- data/test/fixtures/recurring_application_charge.json +2 -0
- data/test/fixtures/recurring_application_charge_adjustment.json +5 -0
- data/test/fixtures/usage_charge.json +11 -0
- data/test/fixtures/usage_charges.json +23 -0
- data/test/recurring_application_charge_test.rb +45 -17
- data/test/usage_charge_test.rb +21 -0
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0d75415d15fd29b2fc2eb1dda08bbea82c45093
|
4
|
+
data.tar.gz: 3a93ef51f81e79cb1c88fda8593768510a59090c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2b080d989b2bc8ed91d267daa040c815f3a675b258691eb75f52f9bef5d958e6b31f875df8f1c28a09fb699329ab70121e5d652aa2047566c414d93e50aaad7
|
7
|
+
data.tar.gz: ff815d6221f9073c3250f6970b1ba727fa7b2456798337aa3971650b7e1468a77be7a1add37fe7170b22dfd6b7cf197e5403cf5d78d22af4d970cc69a431d033
|
@@ -12,6 +12,10 @@ module ShopifyAPI
|
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
+
def usage_charges
|
16
|
+
UsageCharge.find(:all, params: { recurring_application_charge_id: id })
|
17
|
+
end
|
18
|
+
|
15
19
|
def cancel
|
16
20
|
load_attributes_from_response(self.destroy)
|
17
21
|
end
|
@@ -19,5 +23,9 @@ module ShopifyAPI
|
|
19
23
|
def activate
|
20
24
|
load_attributes_from_response(post(:activate))
|
21
25
|
end
|
26
|
+
|
27
|
+
def customize(customize_recurring_app_charge_params = {})
|
28
|
+
load_attributes_from_response(put(:customize, recurring_application_charge: customize_recurring_app_charge_params ))
|
29
|
+
end
|
22
30
|
end
|
23
31
|
end
|
data/lib/shopify_api/version.rb
CHANGED
@@ -13,6 +13,8 @@
|
|
13
13
|
"test": null,
|
14
14
|
"trial_days": 0,
|
15
15
|
"trial_ends_on": null,
|
16
|
+
"terms": "$1 per 1000 emails",
|
17
|
+
"capped_amount": "100.00",
|
16
18
|
"updated_at": "2014-01-20T13:42:19-05:00",
|
17
19
|
"decorated_return_url": "http://super-duper.shopifyapps.com?charge_id=654381177",
|
18
20
|
"confirmation_url": "http://apple.myshopify.com/admin/charges/654381177/confirm_recurring_application_charge?signature=BAhpBHkQASc%3D--419fc7424f8c290ac2b21b9004ed223e35b52164"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{
|
2
|
+
"usage_charges": [
|
3
|
+
{
|
4
|
+
"id": 359376005,
|
5
|
+
"description": "1000 emails",
|
6
|
+
"price": "9.00",
|
7
|
+
"recurring_application_charge_id": 654381177,
|
8
|
+
"billing_on": "2015-07-08",
|
9
|
+
"balance_remaining": "82.00",
|
10
|
+
"balance_used": "18.00"
|
11
|
+
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"id": 359376006,
|
15
|
+
"description": "1000 emails",
|
16
|
+
"price": "9.00",
|
17
|
+
"recurring_application_charge_id": 654381177,
|
18
|
+
"billing_on": "2015-07-08",
|
19
|
+
"balance_remaining": "82.00",
|
20
|
+
"balance_used": "18.00"
|
21
|
+
}
|
22
|
+
]
|
23
|
+
}
|
@@ -3,7 +3,7 @@ require 'test_helper'
|
|
3
3
|
class RecurringApplicationChargeTest < Test::Unit::TestCase
|
4
4
|
|
5
5
|
def test_recurring_application_charges_create
|
6
|
-
fake "recurring_application_charges", :
|
6
|
+
fake "recurring_application_charges", method: :post, status: 201, body: load_fixture('recurring_application_charge')
|
7
7
|
|
8
8
|
charge = ShopifyAPI::RecurringApplicationCharge.create(
|
9
9
|
name: "Default Plan",
|
@@ -15,7 +15,7 @@ class RecurringApplicationChargeTest < Test::Unit::TestCase
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def test_get_recurring_application_charges
|
18
|
-
fake "recurring_application_charges/654381177", :
|
18
|
+
fake "recurring_application_charges/654381177", method: :get, status: 201, body: load_fixture('recurring_application_charge')
|
19
19
|
|
20
20
|
charge = ShopifyAPI::RecurringApplicationCharge.find(654381177)
|
21
21
|
|
@@ -23,7 +23,7 @@ class RecurringApplicationChargeTest < Test::Unit::TestCase
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def test_list_recurring_application_charges
|
26
|
-
fake "recurring_application_charges", :
|
26
|
+
fake "recurring_application_charges", method: :get, status: 201, body: load_fixture('recurring_application_charges')
|
27
27
|
|
28
28
|
charge = ShopifyAPI::RecurringApplicationCharge.find(:all)
|
29
29
|
|
@@ -31,23 +31,23 @@ class RecurringApplicationChargeTest < Test::Unit::TestCase
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def test_list_since_recurring_application_charges
|
34
|
-
fake "recurring_application_charges.json?since_id=64512345"
|
34
|
+
fake "recurring_application_charges.json?since_id=64512345",extension: false, method: :get, status: 201, body: load_fixture('recurring_application_charges')
|
35
35
|
|
36
|
-
charge = ShopifyAPI::RecurringApplicationCharge.find(:all, :
|
36
|
+
charge = ShopifyAPI::RecurringApplicationCharge.find(:all, params: { since_id: '64512345' })
|
37
37
|
|
38
38
|
assert_equal "Super Mega Plan", charge.last.name
|
39
39
|
end
|
40
40
|
|
41
41
|
def test_list_fields_recurring_application_charges
|
42
|
-
fake "recurring_application_charges.json?fields=name"
|
42
|
+
fake "recurring_application_charges.json?fields=name",extension: false, method: :get, status: 201, body: load_fixture('recurring_application_charges')
|
43
43
|
|
44
|
-
charge = ShopifyAPI::RecurringApplicationCharge.find(:all, :
|
44
|
+
charge = ShopifyAPI::RecurringApplicationCharge.find(:all, params: { fields: 'name' })
|
45
45
|
|
46
46
|
assert_equal "Super Mega Plan", charge.last.name
|
47
47
|
end
|
48
48
|
|
49
49
|
def test_pending_recurring_application_charge
|
50
|
-
fake "recurring_application_charges", :
|
50
|
+
fake "recurring_application_charges", method: :get, status: 201, body: load_fixture('recurring_application_charges')
|
51
51
|
|
52
52
|
charge = ShopifyAPI::RecurringApplicationCharge.pending
|
53
53
|
|
@@ -55,7 +55,7 @@ class RecurringApplicationChargeTest < Test::Unit::TestCase
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def test_cancelled_recurring_application_charge
|
58
|
-
fake "recurring_application_charges", :
|
58
|
+
fake "recurring_application_charges", method: :get, status: 201, body: load_fixture('recurring_application_charges')
|
59
59
|
|
60
60
|
charge = ShopifyAPI::RecurringApplicationCharge.cancelled
|
61
61
|
|
@@ -63,7 +63,7 @@ class RecurringApplicationChargeTest < Test::Unit::TestCase
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def test_accepted_recurring_application_charge
|
66
|
-
fake "recurring_application_charges", :
|
66
|
+
fake "recurring_application_charges", method: :get, status: 201, body: load_fixture('recurring_application_charges')
|
67
67
|
|
68
68
|
charge = ShopifyAPI::RecurringApplicationCharge.accepted
|
69
69
|
|
@@ -72,7 +72,7 @@ class RecurringApplicationChargeTest < Test::Unit::TestCase
|
|
72
72
|
end
|
73
73
|
|
74
74
|
def test_declined_recurring_application_charge
|
75
|
-
fake "recurring_application_charges", :
|
75
|
+
fake "recurring_application_charges", method: :get, status: 201, body: load_fixture('recurring_application_charges')
|
76
76
|
|
77
77
|
charge = ShopifyAPI::RecurringApplicationCharge.declined
|
78
78
|
|
@@ -80,22 +80,51 @@ class RecurringApplicationChargeTest < Test::Unit::TestCase
|
|
80
80
|
end
|
81
81
|
|
82
82
|
def test_activate_recurring_application_charge
|
83
|
-
fake "recurring_application_charges", :
|
84
|
-
fake "recurring_application_charges/455696199/activate", :
|
83
|
+
fake "recurring_application_charges", method: :get, status: 201, body: load_fixture('recurring_application_charges')
|
84
|
+
fake "recurring_application_charges/455696199/activate", method: :post, status: 200, body: "{}"
|
85
85
|
|
86
86
|
charge = ShopifyAPI::RecurringApplicationCharge.accepted
|
87
87
|
|
88
88
|
assert charge.last.activate
|
89
89
|
end
|
90
90
|
|
91
|
+
def test_adjust_recurring_application_charge
|
92
|
+
fake "recurring_application_charges/654381177", method: :get, status: 201, body: load_fixture('recurring_application_charge')
|
93
|
+
fake "recurring_application_charges/654381177/customize.json?recurring_application_charge%5Bcapped_amount%5D=200", method: :put, body: load_fixture('recurring_application_charge_adjustment'), extension: false
|
94
|
+
|
95
|
+
charge = ShopifyAPI::RecurringApplicationCharge.find(654381177)
|
96
|
+
|
97
|
+
assert charge.customize(capped_amount: 200)
|
98
|
+
end
|
99
|
+
|
91
100
|
def test_cancel_recurring_application_charge
|
92
|
-
fake "recurring_application_charges", :
|
93
|
-
fake "recurring_application_charges/455696194", :
|
101
|
+
fake "recurring_application_charges", method: :get, status: 201, body: load_fixture('recurring_application_charges')
|
102
|
+
fake "recurring_application_charges/455696194", method: :delete, status: 200, body: "{}"
|
94
103
|
|
95
104
|
charge = ShopifyAPI::RecurringApplicationCharge.current
|
96
105
|
assert charge.cancel
|
97
106
|
end
|
98
107
|
|
108
|
+
def test_usage_charges_recurring_application_charge_found
|
109
|
+
fake "recurring_application_charges/654381177", method: :get, status: 201, body: load_fixture('recurring_application_charge')
|
110
|
+
fake "recurring_application_charges/654381177/usage_charges", method: :get, status: 201, body: load_fixture('usage_charges')
|
111
|
+
|
112
|
+
charge = ShopifyAPI::RecurringApplicationCharge.find(654381177)
|
113
|
+
usage_charges = charge.usage_charges
|
114
|
+
|
115
|
+
assert_equal 2, usage_charges.length
|
116
|
+
end
|
117
|
+
|
118
|
+
def test_usage_charges_recurring_application_charge_not_found
|
119
|
+
fake "recurring_application_charges/654381177", method: :get, status: 201, body: load_fixture('recurring_application_charge')
|
120
|
+
fake "recurring_application_charges/654381177/usage_charges", method: :get, status: 201, body: "[]"
|
121
|
+
|
122
|
+
charge = ShopifyAPI::RecurringApplicationCharge.find(654381177)
|
123
|
+
usage_charges = charge.usage_charges
|
124
|
+
|
125
|
+
assert_equal 0, usage_charges.length
|
126
|
+
end
|
127
|
+
|
99
128
|
def test_no_recurring_application_charge_found
|
100
129
|
fake "recurring_application_charges", body: {recurring_application_charges: []}.to_json
|
101
130
|
|
@@ -105,7 +134,7 @@ class RecurringApplicationChargeTest < Test::Unit::TestCase
|
|
105
134
|
end
|
106
135
|
|
107
136
|
def test_recurring_application_charge_not_found_error
|
108
|
-
fake "recurring_application_charges", :
|
137
|
+
fake "recurring_application_charges", body: '{"errors":"Not Found"}', status: 404
|
109
138
|
|
110
139
|
all_application_charges = ShopifyAPI::RecurringApplicationCharge.all
|
111
140
|
if ActiveResource::VERSION::MAJOR >= 4 && ActiveResource::VERSION::MINOR >= 2
|
@@ -117,5 +146,4 @@ class RecurringApplicationChargeTest < Test::Unit::TestCase
|
|
117
146
|
assert_equal nil, ShopifyAPI::RecurringApplicationCharge.current
|
118
147
|
assert_equal [], ShopifyAPI::RecurringApplicationCharge.pending
|
119
148
|
end
|
120
|
-
|
121
149
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class UsageChargeTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def test_create_usage_charges
|
6
|
+
fake "recurring_application_charges/654381177/usage_charges", method: :post, body: load_fixture('usage_charge')
|
7
|
+
|
8
|
+
usage_charge = ShopifyAPI::UsageCharge.new(description: '1000 emails', price: 1.0)
|
9
|
+
usage_charge.prefix_options = {recurring_application_charge_id: 654381177}
|
10
|
+
assert usage_charge.save
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_get_usage_charges
|
14
|
+
fake "recurring_application_charges/654381177/usage_charges/359376002", method: :get, status: 201, body: load_fixture('usage_charge')
|
15
|
+
|
16
|
+
usage_charge = ShopifyAPI::UsageCharge.find(359376002, params: {recurring_application_charge_id: 654381177})
|
17
|
+
|
18
|
+
assert_equal "1000 emails", usage_charge.description
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
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.0
|
4
|
+
version: 4.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shopify
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activeresource
|
@@ -186,6 +186,7 @@ files:
|
|
186
186
|
- lib/shopify_api/resources/tax_line.rb
|
187
187
|
- lib/shopify_api/resources/theme.rb
|
188
188
|
- lib/shopify_api/resources/transaction.rb
|
189
|
+
- lib/shopify_api/resources/usage_charge.rb
|
189
190
|
- lib/shopify_api/resources/variant.rb
|
190
191
|
- lib/shopify_api/resources/webhook.rb
|
191
192
|
- lib/shopify_api/session.rb
|
@@ -237,6 +238,7 @@ files:
|
|
237
238
|
- test/fixtures/policies.json
|
238
239
|
- test/fixtures/product.json
|
239
240
|
- test/fixtures/recurring_application_charge.json
|
241
|
+
- test/fixtures/recurring_application_charge_adjustment.json
|
240
242
|
- test/fixtures/recurring_application_charges.json
|
241
243
|
- test/fixtures/script_tag.json
|
242
244
|
- test/fixtures/script_tags.json
|
@@ -244,6 +246,8 @@ files:
|
|
244
246
|
- test/fixtures/shop.json
|
245
247
|
- test/fixtures/tags.json
|
246
248
|
- test/fixtures/transaction.json
|
249
|
+
- test/fixtures/usage_charge.json
|
250
|
+
- test/fixtures/usage_charges.json
|
247
251
|
- test/fixtures/variant.json
|
248
252
|
- test/fixtures/variants.json
|
249
253
|
- test/fixtures/webhook.json
|
@@ -267,6 +271,7 @@ files:
|
|
267
271
|
- test/shop_test.rb
|
268
272
|
- test/test_helper.rb
|
269
273
|
- test/transaction_test.rb
|
274
|
+
- test/usage_charge_test.rb
|
270
275
|
- test/variant_test.rb
|
271
276
|
- test/webhook_test.rb
|
272
277
|
homepage: http://www.shopify.com/partners/apps
|