apruve 0.9.2 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 768587ceb2db4b6f9cee28a0ca12c24f95b2a15a
4
- data.tar.gz: b11a64be202300c00734e2c2374723e828ca3357
3
+ metadata.gz: 8266aa74e71fb99da6044ae2881c00e1f2a9734d
4
+ data.tar.gz: 62850292f7e9f94e50af2a324988db825ea63b73
5
5
  SHA512:
6
- metadata.gz: 8881b9309a56ba775b8e9c987e9cfa62c600919072621ba64463dad5f96ca469c8709469071a09732aa12a49df47c37b3277be1f26ba29ab1e24bf64c2314fe0
7
- data.tar.gz: 26b8c2fa1712781b992b3e22a57ae38a33bda6dede1fa43c86973289b3b7f9f1deb49e6663d8fc136574a013941c6c65c7886e5b3e6d2534cfab7576d04be96b
6
+ metadata.gz: 36f5038c42e98e319c337a83e9d3c252ef584654953223afa275780ce28400ae70645fe15ce9bf3ec23d2674f5d34bf003badccc5661c42ad2fd87e26edcfc00
7
+ data.tar.gz: 188a2304a63a8040846efdd8ceb0bd8a451da4dd6b4a4fe79b192fc6fa8c8265568a0eb2466b278d51d703d70bfb22accb1e9bf318d89d01fea5f00e8fd40c35
@@ -58,7 +58,7 @@ module Apruve
58
58
  end
59
59
 
60
60
  def unstore(*args, &block)
61
- self.client.unstore *args
61
+ self.client.delete *args
62
62
  end
63
63
 
64
64
  alias_method :delete, :unstore
@@ -1,12 +1,20 @@
1
1
  module Apruve
2
2
  class SubscriptionAdjustment < Apruve::ApruveObject
3
3
  attr_accessor :id, :subscription_id, :status, :title, :amount_cents, :price_ea_cents, :quantity, :description,
4
- :variant_info, :sku, :vendor, :view_product_url, :api_url
4
+ :variant_info, :sku, :vendor, :view_product_url, :api_url, :merchant_notes
5
5
 
6
6
  def self.find(subscription_id, id)
7
7
  response = Apruve.get("subscriptions/#{subscription_id}/adjustments/#{id}")
8
8
  logger.debug response.body
9
- SubscriptionAdjustment.new(response.body)
9
+ found = SubscriptionAdjustment.new(response.body)
10
+ found.subscription_id = subscription_id
11
+ found
12
+ end
13
+
14
+ def self.delete(subscription_id, id)
15
+ response = Apruve.delete("subscriptions/#{subscription_id}/adjustments/#{id}")
16
+ logger.debug response.body
17
+ nil
10
18
  end
11
19
 
12
20
  def self.find_all(subscription_id)
@@ -25,9 +33,11 @@ module Apruve
25
33
  end
26
34
 
27
35
  def delete!
28
- response = Apruve.delete("subscriptions/#{self.subscription_id}/adjustments/#{id}")
29
- logger.debug response.body
30
- nil
36
+ if self.id == nil
37
+ raise 'SubscriptionAdjustment has not been saved'
38
+ else
39
+ SubscriptionAdjustment.delete self.subscription_id, self.id
40
+ end
31
41
  end
32
42
  end
33
43
  end
@@ -1,3 +1,3 @@
1
1
  module Apruve
2
- VERSION = '0.9.2'
2
+ VERSION = '0.10.0'
3
3
  end
@@ -0,0 +1,202 @@
1
+ require 'spec_helper'
2
+
3
+ describe Apruve::SubscriptionAdjustment do
4
+ before :each do
5
+ Apruve.configure('e5fbe71d68772d1f562ed6f598b995b3', 'local')
6
+ end
7
+
8
+ let (:id) { '99ea2488fe0a5c7bb38aa7f9b088874a' }
9
+ let (:subscription_id) { 'e5fbe71d68772d1f562ed6f598b995b3'}
10
+ let (:title) { 'A test title' }
11
+ let (:status) { 'approved' }
12
+ let (:amount_cents) { 123456 }
13
+ let (:price_ea_cents) { 12345 }
14
+ let (:quantity) { 100 }
15
+ let (:description) { 'description from merchant' }
16
+ let (:variant_info) { 'variant 1000' }
17
+ let (:sku) { 'PAPER123' }
18
+ let (:vendor) { 'vendor9000' }
19
+ let (:view_product_url) { Faker::Internet.url }
20
+ let (:api_url) { Faker::Internet.url }
21
+ let (:merchant_notes) { 'merchant notes' }
22
+ let (:adjustment) do
23
+ Apruve::SubscriptionAdjustment.new(
24
+ id: id,
25
+ subscription_id: subscription_id,
26
+ title: title,
27
+ amount_cents: amount_cents,
28
+ price_ea_cents: price_ea_cents,
29
+ quantity: quantity,
30
+ description: description,
31
+ variant_info: variant_info,
32
+ sku: sku,
33
+ vendor: vendor,
34
+ view_product_url: view_product_url,
35
+ merchant_notes: merchant_notes
36
+ )
37
+ end
38
+ subject { adjustment }
39
+
40
+ # from line_item
41
+ it { should respond_to(:title) }
42
+ it { should respond_to(:amount_cents) }
43
+ it { should respond_to(:quantity) }
44
+ it { should respond_to(:price_ea_cents) }
45
+ it { should respond_to(:merchant_notes) }
46
+ it { should respond_to(:description) }
47
+ it { should respond_to(:variant_info) }
48
+ it { should respond_to(:sku) }
49
+ it { should respond_to(:vendor) }
50
+ it { should respond_to(:view_product_url) }
51
+
52
+ describe '#find' do
53
+ describe 'success' do
54
+ let! (:stubs) do
55
+ faraday_stubs do |stub|
56
+ stub.get("/api/v3/subscriptions/#{subscription_id}/adjustments/#{id}") { [200, {}, '{}'] }
57
+ end
58
+ end
59
+ it 'should do a get' do
60
+ Apruve::SubscriptionAdjustment.find(subscription_id, id)
61
+ stubs.verify_stubbed_calls
62
+ end
63
+ end
64
+ describe 'not found' do
65
+ let! (:stubs) do
66
+ faraday_stubs do |stub|
67
+ stub.get("/api/v3/subscriptions/#{subscription_id}/adjustments/#{id}") { [404, {}, 'Not Found'] }
68
+ end
69
+ end
70
+ it 'should raise' do
71
+ expect { Apruve::SubscriptionAdjustment.find(subscription_id, id) }.to raise_error(Apruve::NotFound)
72
+ stubs.verify_stubbed_calls
73
+ end
74
+ end
75
+ end
76
+
77
+ describe '#delete' do
78
+ describe 'success' do
79
+ let! (:stubs) do
80
+ faraday_stubs do |stub|
81
+ stub.delete("/api/v3/subscriptions/#{subscription_id}/adjustments/#{id}") { [200, {}, '{}'] }
82
+ end
83
+ end
84
+ it 'should do a delete' do
85
+ Apruve::SubscriptionAdjustment.delete(subscription_id, id)
86
+ stubs.verify_stubbed_calls
87
+ end
88
+ end
89
+ describe 'not found' do
90
+ let! (:stubs) do
91
+ faraday_stubs do |stub|
92
+ stub.delete("/api/v3/subscriptions/#{subscription_id}/adjustments/#{id}") { [404, {}, 'Not Found'] }
93
+ end
94
+ end
95
+ it 'should raise' do
96
+ expect { Apruve::SubscriptionAdjustment.delete(subscription_id, id) }.to raise_error(Apruve::NotFound)
97
+ stubs.verify_stubbed_calls
98
+ end
99
+ end
100
+ end
101
+
102
+ describe '#delete!' do
103
+ describe 'success' do
104
+ let! (:stubs) do
105
+ faraday_stubs do |stub|
106
+ stub.delete("/api/v3/subscriptions/#{adjustment.subscription_id}/adjustments/#{adjustment.id}") { [200, {}, '{}'] }
107
+ end
108
+ end
109
+ it 'should do a delete' do
110
+ adjustment.delete!
111
+ stubs.verify_stubbed_calls
112
+ end
113
+ end
114
+ describe 'not found' do
115
+ let! (:stubs) do
116
+ faraday_stubs do |stub|
117
+ stub.delete("/api/v3/subscriptions/#{adjustment.subscription_id}/adjustments/#{adjustment.id}") { [404, {}, 'Not Found'] }
118
+ end
119
+ end
120
+ it 'should raise' do
121
+ expect {adjustment.delete!}.to raise_error(Apruve::NotFound)
122
+ stubs.verify_stubbed_calls
123
+ end
124
+ end
125
+ describe 'not saved' do
126
+ it 'should raise' do
127
+ adjustment.id = nil
128
+ expect {adjustment.delete!}.to raise_error('SubscriptionAdjustment has not been saved')
129
+ end
130
+ end
131
+ end
132
+
133
+ describe '#find_all' do
134
+ describe 'success' do
135
+ let! (:stubs) do
136
+ faraday_stubs do |stub|
137
+ stub.get("/api/v3/subscriptions/#{subscription_id}/adjustments") { [200, {}, '{}'] }
138
+ end
139
+ end
140
+ it 'should do a get' do
141
+ Apruve::SubscriptionAdjustment.find_all(subscription_id)
142
+ stubs.verify_stubbed_calls
143
+ end
144
+ end
145
+ describe 'not found' do
146
+ let! (:stubs) do
147
+ faraday_stubs do |stub|
148
+ stub.get("/api/v3/subscriptions/#{subscription_id}/adjustments") { [404, {}, 'Not Found'] }
149
+ end
150
+ end
151
+ it 'should raise' do
152
+ expect { Apruve::SubscriptionAdjustment.find_all(subscription_id) }.to raise_error(Apruve::NotFound)
153
+ stubs.verify_stubbed_calls
154
+ end
155
+ end
156
+ end
157
+
158
+ describe '#save!' do
159
+ let (:response) do
160
+ {
161
+ subscription_id: subscription_id,
162
+ title: title,
163
+ amount_cents: amount_cents,
164
+ price_ea_cents: price_ea_cents,
165
+ quantity: quantity,
166
+ description: description,
167
+ variant_info: variant_info,
168
+ sku: sku,
169
+ vendor: vendor,
170
+ view_product_url: view_product_url,
171
+ merchant_notes: merchant_notes
172
+ }
173
+ end
174
+ describe 'success' do
175
+ let! (:stubs) do
176
+ faraday_stubs do |stub|
177
+ stub.post(
178
+ "/api/v3/subscriptions/#{subscription_id}/adjustments", adjustment.to_json) { [200, {}, response.to_json] }
179
+ end
180
+ end
181
+ it 'should do a post' do
182
+ adjustment.save!
183
+ stubs.verify_stubbed_calls
184
+ end
185
+ end
186
+ describe 'payment request not found' do
187
+ let! (:stubs) do
188
+ faraday_stubs do |stub|
189
+ stub.post(
190
+ "/api/v3/subscriptions/#{subscription_id}/adjustments", adjustment.to_json) { [404, {}, 'Not Found'] }
191
+ end
192
+ end
193
+ it 'should raise' do
194
+ expect { adjustment.save! }.to raise_error(Apruve::NotFound)
195
+ stubs.verify_stubbed_calls
196
+ end
197
+ end
198
+ end
199
+ end
200
+
201
+
202
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apruve
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Apruve, Inc.
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-23 00:00:00.000000000 Z
12
+ date: 2014-07-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -127,6 +127,7 @@ files:
127
127
  - spec/apruve/resources/payment_item_spec.rb
128
128
  - spec/apruve/resources/payment_request_spec.rb
129
129
  - spec/apruve/resources/payment_spec.rb
130
+ - spec/apruve/resources/subscription_adjustment_spec.rb
130
131
  - spec/apruve/resources/subscription_spec.rb
131
132
  - spec/apruve/response/apruve_exception_middleware_spec.rb
132
133
  - spec/spec_helper.rb
@@ -150,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
151
  version: '0'
151
152
  requirements: []
152
153
  rubyforge_project:
153
- rubygems_version: 2.2.2
154
+ rubygems_version: 2.2.1
154
155
  signing_key:
155
156
  specification_version: 4
156
157
  summary: Helper library for integrating Apruve into a ruby app.
@@ -162,7 +163,7 @@ test_files:
162
163
  - spec/apruve/resources/payment_item_spec.rb
163
164
  - spec/apruve/resources/payment_request_spec.rb
164
165
  - spec/apruve/resources/payment_spec.rb
166
+ - spec/apruve/resources/subscription_adjustment_spec.rb
165
167
  - spec/apruve/resources/subscription_spec.rb
166
168
  - spec/apruve/response/apruve_exception_middleware_spec.rb
167
169
  - spec/spec_helper.rb
168
- has_rdoc: