shopify_api 4.0.7 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|