balanced 0.6.0 → 0.7.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.
- data/.gitignore +3 -0
- data/CONTRIBUTORS +2 -1
- data/Gemfile +7 -6
- data/README.md +7 -0
- data/balanced.gemspec +2 -2
- data/lib/balanced/client.rb +4 -3
- data/lib/balanced/resources/resource.rb +12 -1
- data/lib/balanced/version.rb +1 -1
- data/spec/balanced/resources/account_spec.rb +21 -54
- data/spec/balanced/resources/api_key_spec.rb +6 -13
- data/spec/balanced/resources/bank_account_spec.rb +28 -32
- data/spec/balanced/resources/callback_spec.rb +3 -17
- data/spec/balanced/resources/credit_spec.rb +5 -14
- data/spec/balanced/resources/hold_spec.rb +5 -13
- data/spec/balanced/resources/marketplace_spec.rb +7 -21
- data/spec/balanced/resources/resource_spec.rb +2 -6
- data/spec/balanced/resources/transactions_spec.rb +3 -12
- data/spec/balanced_spec.rb +17 -9
- data/spec/client_spec.rb +0 -2
- data/spec/spec_helper.rb +3 -2
- metadata +11 -10
data/.gitignore
CHANGED
data/CONTRIBUTORS
CHANGED
data/Gemfile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
source
|
1
|
+
source 'https://rubygems.org'
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in balanced.gemspec
|
4
4
|
|
@@ -8,12 +8,13 @@ gem "faraday_middleware"
|
|
8
8
|
group :development do
|
9
9
|
gem "yard"
|
10
10
|
gem "ruby-debug19"
|
11
|
-
gem "guard", '~> 1.
|
12
|
-
gem "guard-rspec", '~>
|
11
|
+
gem "guard", '~> 1.6.2'
|
12
|
+
gem "guard-rspec", '~> 2.4.1'
|
13
13
|
end
|
14
14
|
|
15
15
|
group :test do
|
16
|
-
gem
|
17
|
-
gem "
|
18
|
-
gem "
|
16
|
+
gem 'net-http-persistent'
|
17
|
+
gem "rspec", '~> 2.13.0'
|
18
|
+
gem "rake", '~> 10.0.3'
|
19
|
+
gem "vcr", '~> 2.4.0'
|
19
20
|
end
|
data/README.md
CHANGED
@@ -69,3 +69,10 @@ Documentation is built using YARD - http://rubydoc.info/docs/yard
|
|
69
69
|
export AMAZON_ACCESS_KEY_ID='xxx'
|
70
70
|
export AMAZON_SECRET_ACCESS_KEY='yyy'
|
71
71
|
./upload_docs.rb
|
72
|
+
|
73
|
+
### Troubleshooting
|
74
|
+
|
75
|
+
#####OpenSSL
|
76
|
+
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)
|
77
|
+
|
78
|
+
The machine's Ruby/OpenSSL environment can't find any root certificates to trust. Please refer [here](http://www.google.com/search?q=SSL+connect+returned=1+errno=0+state=SSLv3) to find the best solution for your environment.
|
data/balanced.gemspec
CHANGED
@@ -13,8 +13,8 @@ Gem::Specification.new do |gem|
|
|
13
13
|
gem.summary = %q{Sign up on https://balancedpayments.com/}
|
14
14
|
gem.homepage = "https://balancedpayments.com"
|
15
15
|
|
16
|
-
gem.add_dependency("faraday", '
|
17
|
-
gem.add_dependency("faraday_middleware", '~> 0.
|
16
|
+
gem.add_dependency("faraday", '>= 0.8.6')
|
17
|
+
gem.add_dependency("faraday_middleware", '~> 0.9.0')
|
18
18
|
|
19
19
|
gem.files = `git ls-files`.split($\)
|
20
20
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
data/lib/balanced/client.rb
CHANGED
@@ -7,7 +7,7 @@ require "balanced_exception_middleware"
|
|
7
7
|
|
8
8
|
module Balanced
|
9
9
|
class Client
|
10
|
-
|
10
|
+
|
11
11
|
DEFAULTS = {
|
12
12
|
:scheme => 'http',
|
13
13
|
:host => 'localhost',
|
@@ -17,7 +17,8 @@ module Balanced
|
|
17
17
|
:connection_timeout => 30,
|
18
18
|
:read_timeout => 30,
|
19
19
|
:logger => nil,
|
20
|
-
:ssl_verify => true
|
20
|
+
:ssl_verify => true,
|
21
|
+
:faraday_adapter => Faraday.default_adapter
|
21
22
|
}
|
22
23
|
|
23
24
|
attr_reader :conn
|
@@ -56,7 +57,7 @@ module Balanced
|
|
56
57
|
cxn.response :handle_balanced_errors
|
57
58
|
cxn.response :json
|
58
59
|
# cxn.response :raise_error # raise exceptions on 40x, 50x responses
|
59
|
-
cxn.adapter
|
60
|
+
cxn.adapter config[:faraday_adapter]
|
60
61
|
end
|
61
62
|
conn.path_prefix = '/'
|
62
63
|
conn.headers['User-Agent'] = "balanced-ruby/#{Balanced::VERSION}"
|
@@ -23,10 +23,21 @@ module Balanced
|
|
23
23
|
elsif !Balanced.is_collection(uri)
|
24
24
|
method = :put
|
25
25
|
end
|
26
|
-
|
26
|
+
attributes_to_submit = self.sanitize
|
27
|
+
@response = Balanced.send(method, uri, attributes_to_submit)
|
27
28
|
reload @response
|
28
29
|
end
|
29
30
|
|
31
|
+
def sanitize
|
32
|
+
to_submit = {}
|
33
|
+
@attributes.each do |key, value|
|
34
|
+
if not value.is_a? Balanced::Resource
|
35
|
+
to_submit[key] = value
|
36
|
+
end
|
37
|
+
end
|
38
|
+
to_submit
|
39
|
+
end
|
40
|
+
|
30
41
|
def warn_on_positional args
|
31
42
|
msg = <<-WARNING
|
32
43
|
Called from: #{caller[1]}
|
data/lib/balanced/version.rb
CHANGED
@@ -1,20 +1,14 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
describe Balanced::Account do
|
4
|
-
use_vcr_cassette
|
3
|
+
describe Balanced::Account, :vcr do
|
5
4
|
before do
|
6
5
|
api_key = Balanced::ApiKey.new.save
|
7
6
|
Balanced.configure api_key.secret
|
8
7
|
@marketplace = Balanced::Marketplace.new.save
|
9
8
|
end
|
10
9
|
|
11
|
-
describe "Account.uri" do
|
12
|
-
|
13
|
-
|
14
|
-
context "when ApiKey is not configured" do
|
15
|
-
|
16
|
-
use_vcr_cassette
|
17
|
-
|
10
|
+
describe "Account.uri", :vcr do
|
11
|
+
context "when ApiKey is not configured", :vcr do
|
18
12
|
before do
|
19
13
|
Balanced::Marketplace.stub(:marketplace_uri) { nil }
|
20
14
|
Balanced.configure nil
|
@@ -27,8 +21,7 @@ describe Balanced::Account do
|
|
27
21
|
end
|
28
22
|
end
|
29
23
|
|
30
|
-
context "when ApiKey is configured" do
|
31
|
-
use_vcr_cassette
|
24
|
+
context "when ApiKey is configured", :vcr do
|
32
25
|
before do
|
33
26
|
api_key = Balanced::ApiKey.new.save
|
34
27
|
Balanced.configure api_key.secret
|
@@ -43,9 +36,7 @@ describe Balanced::Account do
|
|
43
36
|
end
|
44
37
|
end
|
45
38
|
|
46
|
-
describe "merchant" do
|
47
|
-
use_vcr_cassette
|
48
|
-
|
39
|
+
describe "merchant", :vcr do
|
49
40
|
before do
|
50
41
|
@merchant_attributes = {
|
51
42
|
:type => "person",
|
@@ -87,8 +78,7 @@ describe Balanced::Account do
|
|
87
78
|
|
88
79
|
end
|
89
80
|
|
90
|
-
describe "#credit" do
|
91
|
-
use_vcr_cassette
|
81
|
+
describe "#credit", :vcr do
|
92
82
|
before do
|
93
83
|
@buyer.debit :amount => 1250
|
94
84
|
end
|
@@ -181,8 +171,7 @@ describe Balanced::Account do
|
|
181
171
|
end
|
182
172
|
end
|
183
173
|
|
184
|
-
describe "#add_bank_account" do
|
185
|
-
use_vcr_cassette
|
174
|
+
describe "#add_bank_account", :vcr do
|
186
175
|
before do
|
187
176
|
@new_bank_account = @marketplace.create_bank_account(
|
188
177
|
:account_number => "1234567890",
|
@@ -195,8 +184,7 @@ describe Balanced::Account do
|
|
195
184
|
it { -> { @merchant.add_bank_account(@new_bank_account.uri) }.should_not raise_error }
|
196
185
|
end
|
197
186
|
|
198
|
-
describe "after executing" do
|
199
|
-
use_vcr_cassette
|
187
|
+
describe "after executing", :vcr do
|
200
188
|
before do
|
201
189
|
@merchant.add_bank_account(@new_bank_account.uri)
|
202
190
|
@bank_accounts = Balanced::BankAccount.find(@merchant.bank_accounts_uri).items
|
@@ -210,8 +198,7 @@ describe Balanced::Account do
|
|
210
198
|
|
211
199
|
describe "buyer" do
|
212
200
|
describe "#save" do
|
213
|
-
describe "when creating" do
|
214
|
-
use_vcr_cassette :record => :new_episodes
|
201
|
+
describe "when creating", :vcr => { :record => :new_episodes } do
|
215
202
|
before do
|
216
203
|
card = Balanced::Card.new(
|
217
204
|
:card_number => "5105105105105100",
|
@@ -229,8 +216,7 @@ describe Balanced::Account do
|
|
229
216
|
end
|
230
217
|
|
231
218
|
describe "after #save" do
|
232
|
-
describe "attributes" do
|
233
|
-
use_vcr_cassette :record => :new_episodes
|
219
|
+
describe "attributes", :vcr => { :record => :new_episodes } do
|
234
220
|
before do
|
235
221
|
card = Balanced::Card.new(
|
236
222
|
:card_number => "4111111111111111",
|
@@ -316,9 +302,7 @@ describe Balanced::Account do
|
|
316
302
|
end
|
317
303
|
|
318
304
|
describe "#add_card" do
|
319
|
-
|
320
|
-
describe "when executing" do
|
321
|
-
use_vcr_cassette
|
305
|
+
describe "when executing", :vcr do
|
322
306
|
before do
|
323
307
|
card = Balanced::Card.new(
|
324
308
|
:card_number => "4111111111111111",
|
@@ -341,9 +325,7 @@ describe Balanced::Account do
|
|
341
325
|
-> { @buyer.add_card(@new_card.uri) }.should_not raise_error
|
342
326
|
end
|
343
327
|
end
|
344
|
-
describe "after executing" do
|
345
|
-
use_vcr_cassette
|
346
|
-
|
328
|
+
describe "after executing", :vcr do
|
347
329
|
before do
|
348
330
|
card = Balanced::Card.new(
|
349
331
|
:card_number => "4111111111111111",
|
@@ -370,11 +352,8 @@ describe Balanced::Account do
|
|
370
352
|
end
|
371
353
|
|
372
354
|
describe "#promote_to_merchant" do
|
373
|
-
|
374
|
-
describe "when executing" do
|
375
|
-
use_vcr_cassette
|
355
|
+
describe "when executing", :vcr do
|
376
356
|
before do
|
377
|
-
|
378
357
|
@merchant_attributes = {
|
379
358
|
:type => "person",
|
380
359
|
:name => "Billy Jones",
|
@@ -401,9 +380,7 @@ describe Balanced::Account do
|
|
401
380
|
-> { @buyer.promote_to_merchant @merchant_attributes}.should_not raise_error
|
402
381
|
end
|
403
382
|
end
|
404
|
-
describe "after executing" do
|
405
|
-
use_vcr_cassette
|
406
|
-
|
383
|
+
describe "after executing", :vcr do
|
407
384
|
before do
|
408
385
|
@merchant_attributes = {
|
409
386
|
:type => "person",
|
@@ -433,8 +410,7 @@ describe Balanced::Account do
|
|
433
410
|
|
434
411
|
end
|
435
412
|
|
436
|
-
describe "#debit" do
|
437
|
-
use_vcr_cassette :match_requests_on => [:body], :record => :new_episodes
|
413
|
+
describe "#debit", :vcr => { :match_requests_on => [:body], :record => :new_episodes } do
|
438
414
|
before do
|
439
415
|
card = Balanced::Card.new(
|
440
416
|
:card_number => "4111111111111111",
|
@@ -502,9 +478,7 @@ describe Balanced::Account do
|
|
502
478
|
end
|
503
479
|
end
|
504
480
|
|
505
|
-
describe ".find" do
|
506
|
-
use_vcr_cassette
|
507
|
-
|
481
|
+
describe ".find", :vcr do
|
508
482
|
before do
|
509
483
|
api_key = Balanced::ApiKey.new.save
|
510
484
|
Balanced.configure api_key.secret
|
@@ -520,8 +494,7 @@ describe Balanced::Account do
|
|
520
494
|
)
|
521
495
|
end
|
522
496
|
|
523
|
-
context "(:all, :some_field => 'op')" do
|
524
|
-
use_vcr_cassette
|
497
|
+
context "(:all, :some_field => 'op')", :vcr do
|
525
498
|
it "should find the account by returning a page with items of one" do
|
526
499
|
response = Balanced::Account.find(:all, :email_address => "john.doe@example.com")
|
527
500
|
response.should be_instance_of Array
|
@@ -529,19 +502,15 @@ describe Balanced::Account do
|
|
529
502
|
end
|
530
503
|
end
|
531
504
|
|
532
|
-
context "(:first, :some_field => 'op')" do
|
533
|
-
use_vcr_cassette
|
505
|
+
context "(:first, :some_field => 'op')", :vcr do
|
534
506
|
it "should find the account by returning the first item" do
|
535
507
|
response = Balanced::Account.find(:first, :email_address => "john.doe@example.com")
|
536
508
|
response.should be_instance_of Balanced::Account
|
537
509
|
end
|
538
510
|
end
|
539
|
-
|
540
|
-
|
541
511
|
end
|
542
512
|
|
543
|
-
describe ".find_by_email" do
|
544
|
-
use_vcr_cassette :record => :new_episodes
|
513
|
+
describe ".find_by_email", :vcr => { :record => :new_episodes } do
|
545
514
|
before do
|
546
515
|
api_key = Balanced::ApiKey.new.save
|
547
516
|
Balanced.configure api_key.secret
|
@@ -557,15 +526,13 @@ describe Balanced::Account do
|
|
557
526
|
)
|
558
527
|
end
|
559
528
|
|
560
|
-
context "email address is in system" do
|
561
|
-
use_vcr_cassette :record => :new_episodes
|
529
|
+
context "email address is in system", :vcr => { :record => :new_episodes } do
|
562
530
|
it "should return account object" do
|
563
531
|
Balanced::Account.find_by_email("john.doe@example.com").should be_instance_of Balanced::Account
|
564
532
|
end
|
565
533
|
end
|
566
534
|
|
567
|
-
context "email address does not exist" do
|
568
|
-
use_vcr_cassette :record => :new_episodes
|
535
|
+
context "email address does not exist", :vcr => { :record => :new_episodes } do
|
569
536
|
it "should return nil" do
|
570
537
|
Balanced::Account.find_by_email("foo@bar.com").should be_nil
|
571
538
|
end
|
@@ -1,8 +1,7 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
describe Balanced::ApiKey do
|
4
|
-
describe "attributes" do
|
5
|
-
use_vcr_cassette
|
4
|
+
describe "attributes", :vcr do
|
6
5
|
before do
|
7
6
|
@key = Balanced::ApiKey.new.save
|
8
7
|
end
|
@@ -19,32 +18,26 @@ describe Balanced::ApiKey do
|
|
19
18
|
end
|
20
19
|
end
|
21
20
|
|
22
|
-
describe "new key" do
|
23
|
-
|
24
|
-
|
25
|
-
describe "before configure" do
|
26
|
-
use_vcr_cassette
|
21
|
+
describe "new key", :vcr do
|
22
|
+
describe "before configure", :vcr do
|
27
23
|
before do
|
28
24
|
@new_key = Balanced::ApiKey.new.save
|
29
25
|
end
|
30
|
-
describe "#merchant" do
|
31
|
-
use_vcr_cassette
|
26
|
+
describe "#merchant", :vcr do
|
32
27
|
subject { @new_key.merchant }
|
33
28
|
it { should_not be_nil }
|
34
29
|
it { should be_instance_of Balanced::Merchant }
|
35
30
|
end
|
36
31
|
end
|
37
32
|
|
38
|
-
describe "after configure" do
|
39
|
-
use_vcr_cassette
|
33
|
+
describe "after configure", :vcr do
|
40
34
|
before do
|
41
35
|
@new_key = Balanced::ApiKey.new.save
|
42
36
|
Balanced.configure @new_key.secret
|
43
37
|
@new_key = Balanced::ApiKey.new.save
|
44
38
|
end
|
45
39
|
|
46
|
-
describe "#merchant" do
|
47
|
-
use_vcr_cassette
|
40
|
+
describe "#merchant", :vcr do
|
48
41
|
subject { @new_key.merchant }
|
49
42
|
it { should_not be_nil }
|
50
43
|
it { should be_instance_of Balanced::Merchant }
|
@@ -1,8 +1,6 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
describe Balanced::BankAccount do
|
4
|
-
use_vcr_cassette
|
5
|
-
|
3
|
+
describe Balanced::BankAccount, :vcr do
|
6
4
|
before do
|
7
5
|
api_key = Balanced::ApiKey.new.save
|
8
6
|
Balanced.configure api_key.secret
|
@@ -27,9 +25,7 @@ describe Balanced::BankAccount do
|
|
27
25
|
}
|
28
26
|
end
|
29
27
|
|
30
|
-
describe 'when exception is thrown' do
|
31
|
-
use_vcr_cassette
|
32
|
-
|
28
|
+
describe 'when exception is thrown', :vcr do
|
33
29
|
it 'should not create without a type field' do
|
34
30
|
lambda { Balanced::BankAccount.new(
|
35
31
|
:account_number => "0987654321",
|
@@ -39,9 +35,7 @@ describe Balanced::BankAccount do
|
|
39
35
|
end
|
40
36
|
end
|
41
37
|
|
42
|
-
describe 'create' do
|
43
|
-
use_vcr_cassette
|
44
|
-
|
38
|
+
describe 'create', :vcr do
|
45
39
|
before do
|
46
40
|
@bank_account = @marketplace.create_bank_account(
|
47
41
|
:account_number => "0987654321",
|
@@ -64,8 +58,7 @@ describe Balanced::BankAccount do
|
|
64
58
|
end
|
65
59
|
end
|
66
60
|
|
67
|
-
context 'with an account' do
|
68
|
-
use_vcr_cassette
|
61
|
+
context 'with an account', :vcr do
|
69
62
|
before do
|
70
63
|
@account = @marketplace.create_account
|
71
64
|
bank_account = @marketplace.create_bank_account(
|
@@ -85,21 +78,35 @@ describe Balanced::BankAccount do
|
|
85
78
|
|
86
79
|
end
|
87
80
|
|
88
|
-
describe 'account_number' do
|
89
|
-
use_vcr_cassette
|
81
|
+
describe 'account_number', :vcr do
|
90
82
|
subject { @bank_account.account_number }
|
91
83
|
it { should end_with '4321' }
|
92
84
|
end
|
93
85
|
|
94
|
-
describe 'fingerprint' do
|
95
|
-
use_vcr_cassette
|
86
|
+
describe 'fingerprint', :vcr do
|
96
87
|
subject { @bank_account.fingerprint }
|
97
88
|
it { should have_at_least(20).characters }
|
98
89
|
end
|
99
90
|
|
100
|
-
describe '
|
101
|
-
|
91
|
+
describe 'does not invalidate on save', :vcr do
|
92
|
+
before do
|
93
|
+
@bank_account = @marketplace.create_bank_account(
|
94
|
+
:account_number => "0987654321",
|
95
|
+
:bank_code => "321174851",
|
96
|
+
:name => "Timmy T. McTimmerson",
|
97
|
+
:type => "checking"
|
98
|
+
)
|
99
|
+
@account = @marketplace.create_account
|
100
|
+
@account.add_bank_account(@bank_account.uri)
|
101
|
+
@bank_account = @account.bank_accounts[0]
|
102
|
+
@bank_account.save
|
103
|
+
end
|
104
|
+
|
105
|
+
subject { @bank_account.is_valid }
|
106
|
+
it { should be_true }
|
107
|
+
end
|
102
108
|
|
109
|
+
describe 'credit', :vcr do
|
103
110
|
before do
|
104
111
|
@credit = @bank_account.credit(
|
105
112
|
:amount => 50,
|
@@ -111,12 +118,9 @@ describe Balanced::BankAccount do
|
|
111
118
|
subject { @credit.bank_account }
|
112
119
|
its(:account_number) { should end_with '4321' }
|
113
120
|
its(:routing_number) { should eql '321174851' }
|
114
|
-
|
115
121
|
end
|
116
122
|
|
117
|
-
describe 'with an account' do
|
118
|
-
use_vcr_cassette
|
119
|
-
|
123
|
+
describe 'with an account', :vcr do
|
120
124
|
before do
|
121
125
|
@account = @marketplace.create_account
|
122
126
|
bank_account = @marketplace.create_bank_account(
|
@@ -137,16 +141,12 @@ describe Balanced::BankAccount do
|
|
137
141
|
it { should respond_to :account }
|
138
142
|
it { should be_instance_of Balanced::Credit }
|
139
143
|
end
|
140
|
-
|
141
144
|
end
|
142
|
-
|
143
145
|
end
|
144
146
|
|
145
147
|
describe 'verification' do
|
146
148
|
|
147
|
-
describe 'cannot debit when unverified' do
|
148
|
-
use_vcr_cassette
|
149
|
-
|
149
|
+
describe 'cannot debit when unverified', :vcr do
|
150
150
|
before do
|
151
151
|
@bank_account = @marketplace.create_bank_account(
|
152
152
|
:account_number => "0987654321",
|
@@ -165,9 +165,7 @@ describe Balanced::BankAccount do
|
|
165
165
|
end
|
166
166
|
end
|
167
167
|
|
168
|
-
describe 'debits when verified' do
|
169
|
-
use_vcr_cassette
|
170
|
-
|
168
|
+
describe 'debits when verified', :vcr do
|
171
169
|
before do
|
172
170
|
@bank_account = @marketplace.create_bank_account(
|
173
171
|
:account_number => "0987654321",
|
@@ -188,9 +186,7 @@ describe Balanced::BankAccount do
|
|
188
186
|
end
|
189
187
|
end
|
190
188
|
|
191
|
-
describe 'errors when incorrectly verified' do
|
192
|
-
use_vcr_cassette
|
193
|
-
|
189
|
+
describe 'errors when incorrectly verified', :vcr do
|
194
190
|
before do
|
195
191
|
@bank_account = @marketplace.create_bank_account(
|
196
192
|
:account_number => "0987654321",
|
@@ -1,19 +1,14 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
describe Balanced::Callback do
|
4
|
-
use_vcr_cassette
|
5
|
-
|
3
|
+
describe Balanced::Callback, :vcr do
|
6
4
|
before do
|
7
5
|
api_key = Balanced::ApiKey.new.save
|
8
6
|
Balanced.configure api_key.secret
|
9
7
|
|
10
8
|
@marketplace = Balanced::Marketplace.new.save
|
11
|
-
|
12
9
|
end
|
13
10
|
|
14
|
-
describe "create" do
|
15
|
-
use_vcr_cassette
|
16
|
-
|
11
|
+
describe "create", :vcr do
|
17
12
|
before do
|
18
13
|
@callback = @marketplace.create_callback(
|
19
14
|
:url => "http://www.example.com/balanced_callback"
|
@@ -21,17 +16,13 @@ describe Balanced::Callback do
|
|
21
16
|
end
|
22
17
|
|
23
18
|
context 'check url' do
|
24
|
-
|
25
19
|
subject { @callback.url}
|
26
20
|
it { should eql "http://www.example.com/balanced_callback" }
|
27
|
-
|
28
21
|
end
|
29
22
|
|
30
23
|
end
|
31
24
|
|
32
|
-
describe "delete" do
|
33
|
-
use_vcr_cassette
|
34
|
-
|
25
|
+
describe "delete", :vcr do
|
35
26
|
before do
|
36
27
|
@callback = @marketplace.create_callback(
|
37
28
|
:url => "http://www.example.com/balanced_callback"
|
@@ -40,13 +31,8 @@ describe Balanced::Callback do
|
|
40
31
|
|
41
32
|
context 'delete' do
|
42
33
|
it "should delete without an error" do
|
43
|
-
|
44
34
|
@callback.destroy
|
45
|
-
|
46
35
|
end
|
47
|
-
|
48
36
|
end
|
49
|
-
|
50
37
|
end
|
51
|
-
|
52
38
|
end
|
@@ -1,9 +1,6 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
describe Balanced::Credit do
|
4
|
-
|
5
|
-
use_vcr_cassette
|
6
|
-
|
3
|
+
describe Balanced::Credit, :vcr do
|
7
4
|
before do
|
8
5
|
api_key = Balanced::ApiKey.new.save
|
9
6
|
Balanced.configure api_key.secret
|
@@ -22,9 +19,7 @@ describe Balanced::Credit do
|
|
22
19
|
@buyer.debit :amount => 10000000
|
23
20
|
end
|
24
21
|
|
25
|
-
describe "#create" do
|
26
|
-
use_vcr_cassette
|
27
|
-
|
22
|
+
describe "#create", :vcr do
|
28
23
|
before do
|
29
24
|
@credit = Balanced::Credit.new(
|
30
25
|
:amount => 5000,
|
@@ -38,23 +33,19 @@ describe Balanced::Credit do
|
|
38
33
|
).save
|
39
34
|
end
|
40
35
|
|
41
|
-
describe 'amount' do
|
42
|
-
use_vcr_cassette
|
36
|
+
describe 'amount', :vcr do
|
43
37
|
subject { @credit.amount }
|
44
38
|
it { should == 5000 }
|
45
39
|
end
|
46
40
|
|
47
|
-
describe 'account' do
|
48
|
-
use_vcr_cassette
|
41
|
+
describe 'account', :vcr do
|
49
42
|
subject { @credit.account }
|
50
43
|
it { should be_nil }
|
51
44
|
end
|
52
45
|
|
53
|
-
describe 'bank_account' do
|
54
|
-
use_vcr_cassette
|
46
|
+
describe 'bank_account', :vcr do
|
55
47
|
subject { @credit.bank_account }
|
56
48
|
its(:account_number) { should end_with '4321' }
|
57
49
|
end
|
58
|
-
|
59
50
|
end
|
60
51
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
describe Balanced::Hold do
|
4
|
-
use_vcr_cassette
|
3
|
+
describe Balanced::Hold, :vcr do
|
5
4
|
before do
|
6
5
|
api_key = Balanced::ApiKey.new.save
|
7
6
|
Balanced.configure api_key.secret
|
@@ -17,29 +16,24 @@ describe Balanced::Hold do
|
|
17
16
|
)
|
18
17
|
end
|
19
18
|
|
20
|
-
describe "#void" do
|
21
|
-
use_vcr_cassette
|
22
|
-
|
19
|
+
describe "#void", :vcr do
|
23
20
|
before do
|
24
21
|
@hold = @buyer.hold :amount => 100
|
25
22
|
end
|
26
23
|
|
27
|
-
describe 'before' do
|
28
|
-
use_vcr_cassette
|
24
|
+
describe 'before', :vcr do
|
29
25
|
subject { @hold.is_void }
|
30
26
|
it { should be_false }
|
31
27
|
end
|
32
28
|
|
33
|
-
describe 'after' do
|
34
|
-
use_vcr_cassette
|
29
|
+
describe 'after', :vcr do
|
35
30
|
before { @hold.void }
|
36
31
|
|
37
32
|
subject { @hold.is_void }
|
38
33
|
it { should be_true }
|
39
34
|
end
|
40
35
|
|
41
|
-
describe 'when exception is thrown' do
|
42
|
-
use_vcr_cassette
|
36
|
+
describe 'when exception is thrown', :vcr do
|
43
37
|
before do
|
44
38
|
@hold = @buyer.hold :amount => 150
|
45
39
|
@debit = @hold.capture
|
@@ -49,8 +43,6 @@ describe Balanced::Hold do
|
|
49
43
|
lambda { @hold.void }.should raise_error(Balanced::Conflict)
|
50
44
|
@hold.is_void.should be_false
|
51
45
|
end
|
52
|
-
|
53
46
|
end
|
54
|
-
|
55
47
|
end
|
56
48
|
end
|
@@ -1,9 +1,7 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
|
4
|
-
describe Balanced::Marketplace do
|
5
|
-
use_vcr_cassette
|
6
|
-
|
4
|
+
describe Balanced::Marketplace, :vcr do
|
7
5
|
before do
|
8
6
|
api_key = Balanced::ApiKey.new.save
|
9
7
|
Balanced.configure api_key.secret
|
@@ -29,9 +27,7 @@ describe Balanced::Marketplace do
|
|
29
27
|
)
|
30
28
|
end
|
31
29
|
|
32
|
-
describe "create_bank_account" do
|
33
|
-
use_vcr_cassette
|
34
|
-
|
30
|
+
describe "create_bank_account", :vcr do
|
35
31
|
it "can create a bank account using the option hash" do
|
36
32
|
bank_account = @marketplace.create_bank_account(
|
37
33
|
:name => "Jon Q.",
|
@@ -44,9 +40,7 @@ describe Balanced::Marketplace do
|
|
44
40
|
|
45
41
|
end
|
46
42
|
|
47
|
-
describe "create_account" do
|
48
|
-
use_vcr_cassette :new_episodes
|
49
|
-
|
43
|
+
describe "create_account", :vcr => { :cassette_name => :new_episodes } do
|
50
44
|
before do
|
51
45
|
@account = @marketplace.create_account
|
52
46
|
@account_with_attributes = @marketplace.create_account(
|
@@ -69,9 +63,7 @@ describe Balanced::Marketplace do
|
|
69
63
|
|
70
64
|
end
|
71
65
|
|
72
|
-
describe "create_card" do
|
73
|
-
use_vcr_cassette
|
74
|
-
|
66
|
+
describe "create_card", :vcr do
|
75
67
|
it "can create a card" do
|
76
68
|
card = @marketplace.create_card(
|
77
69
|
:card_number => "4111111111111111",
|
@@ -83,9 +75,7 @@ describe Balanced::Marketplace do
|
|
83
75
|
end
|
84
76
|
end
|
85
77
|
|
86
|
-
describe "create_merchant" do
|
87
|
-
use_vcr_cassette
|
88
|
-
|
78
|
+
describe "create_merchant", :vcr do
|
89
79
|
describe "class" do
|
90
80
|
subject { @merchant }
|
91
81
|
it { should be_instance_of Balanced::Account }
|
@@ -151,9 +141,7 @@ describe Balanced::Marketplace do
|
|
151
141
|
end
|
152
142
|
|
153
143
|
describe Balanced::Marketplace, '.marketplace_uri' do
|
154
|
-
context 'when invoking .my_marketplace' do
|
155
|
-
use_vcr_cassette
|
156
|
-
|
144
|
+
context 'when invoking .my_marketplace', :vcr do
|
157
145
|
it 'sets the marketplace_id after the first call implicitly' do
|
158
146
|
|
159
147
|
Balanced.configure nil
|
@@ -179,9 +167,7 @@ describe Balanced::Marketplace, '.marketplace_uri' do
|
|
179
167
|
end
|
180
168
|
end
|
181
169
|
|
182
|
-
context 'when creating a Balanced::Marketplace resource' do
|
183
|
-
use_vcr_cassette
|
184
|
-
|
170
|
+
context 'when creating a Balanced::Marketplace resource', :vcr do
|
185
171
|
it 'sets the marketplace_uri' do
|
186
172
|
api_key = Balanced::ApiKey.new.save
|
187
173
|
Balanced.configure api_key.secret
|
@@ -1,8 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Balanced::Resource, '.uri' do
|
4
|
-
use_vcr_cassette
|
5
|
-
|
3
|
+
describe Balanced::Resource, '.uri', :vcr do
|
6
4
|
describe "before the marketplace is configured" do
|
7
5
|
it 'raises an exception' do
|
8
6
|
Balanced::Marketplace.stub(:marketplace_uri) { nil }
|
@@ -20,9 +18,7 @@ describe Balanced::Resource, '.uri' do
|
|
20
18
|
end
|
21
19
|
end
|
22
20
|
|
23
|
-
describe Balanced::Resource, 'loading a resource and generating methods from the response body' do
|
24
|
-
use_vcr_cassette
|
25
|
-
|
21
|
+
describe Balanced::Resource, 'loading a resource and generating methods from the response body', :vcr do
|
26
22
|
before do
|
27
23
|
make_marketplace
|
28
24
|
@account = Balanced::Account.new(email: 'user@example.com', name: 'John Doe').save
|
@@ -1,9 +1,6 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
describe Balanced::Transaction do
|
4
|
-
|
5
|
-
use_vcr_cassette
|
6
|
-
|
3
|
+
describe Balanced::Transaction, :vcr do
|
7
4
|
before do
|
8
5
|
api_key = Balanced::ApiKey.new.save
|
9
6
|
Balanced.configure api_key.secret
|
@@ -47,16 +44,12 @@ describe Balanced::Transaction do
|
|
47
44
|
|
48
45
|
end
|
49
46
|
|
50
|
-
describe "Transaction" do
|
51
|
-
use_vcr_cassette
|
52
|
-
|
47
|
+
describe "Transaction", :vcr do
|
53
48
|
it "#all" do
|
54
49
|
Balanced::Transaction.all.length.should eql(15)
|
55
50
|
end
|
56
51
|
|
57
|
-
describe "#paginate" do
|
58
|
-
use_vcr_cassette
|
59
|
-
|
52
|
+
describe "#paginate", :vcr do
|
60
53
|
it "#total" do
|
61
54
|
Balanced::Transaction.paginate.total.should eql(15)
|
62
55
|
end
|
@@ -68,8 +61,6 @@ describe Balanced::Transaction do
|
|
68
61
|
end
|
69
62
|
counter.should eql(15)
|
70
63
|
end
|
71
|
-
|
72
64
|
end
|
73
|
-
|
74
65
|
end
|
75
66
|
end
|
data/spec/balanced_spec.rb
CHANGED
@@ -1,8 +1,20 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
describe Balanced do
|
4
|
-
describe
|
5
|
-
|
4
|
+
describe 'configuring the faraday http adapter' do
|
5
|
+
it 'sets it to net http when nothing is passed in' do
|
6
|
+
client = Balanced.configure 'secret'
|
7
|
+
client.conn.builder.handlers.should include Faraday::Adapter::NetHttp
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'allows the user to set it' do
|
11
|
+
client = Balanced.configure 'secret', :faraday_adapter => :net_http_persistent
|
12
|
+
client.conn.builder.handlers.should include Faraday::Adapter::NetHttpPersistent
|
13
|
+
client.conn.builder.handlers.should_not include Faraday::Adapter::NetHttp
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe "configure", :vcr do
|
6
18
|
before do
|
7
19
|
@api_key = Balanced::ApiKey.new.save
|
8
20
|
|
@@ -37,16 +49,14 @@ describe Balanced do
|
|
37
49
|
end
|
38
50
|
end
|
39
51
|
|
40
|
-
describe "reconfigure with new api key" do
|
41
|
-
use_vcr_cassette
|
52
|
+
describe "reconfigure with new api key", :vcr do
|
42
53
|
before do
|
43
54
|
@new_api_key = Balanced::ApiKey.new.save
|
44
55
|
Balanced.configure @new_api_key.secret
|
45
56
|
end
|
46
57
|
|
47
58
|
describe "api key" do
|
48
|
-
describe "merchant" do
|
49
|
-
use_vcr_cassette
|
59
|
+
describe "merchant", :vcr do
|
50
60
|
subject { @api_key.merchant }
|
51
61
|
it { should_not be_nil }
|
52
62
|
end
|
@@ -66,9 +76,7 @@ describe Balanced do
|
|
66
76
|
it { should_not be_nil }
|
67
77
|
|
68
78
|
end
|
69
|
-
describe "merchant" do
|
70
|
-
use_vcr_cassette
|
71
|
-
|
79
|
+
describe "merchant", :vcr do
|
72
80
|
subject { @new_api_key.merchant }
|
73
81
|
it { should_not be_nil }
|
74
82
|
end
|
data/spec/client_spec.rb
CHANGED
@@ -1,12 +1,10 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
describe "balanced client" do
|
4
|
-
|
5
4
|
it "should allow setting and reading of the api_key" do
|
6
5
|
client = Balanced::Client.new "miscreant"
|
7
6
|
client.api_key.should eq("miscreant")
|
8
7
|
client.api_key = "foo"
|
9
8
|
client.api_key.should eq("foo")
|
10
9
|
end
|
11
|
-
|
12
10
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -13,6 +13,7 @@ end
|
|
13
13
|
VCR.configure do |c|
|
14
14
|
c.cassette_library_dir = 'spec/cassettes'
|
15
15
|
c.hook_into :faraday
|
16
|
+
c.configure_rspec_metadata!
|
16
17
|
end
|
17
18
|
|
18
19
|
# TODO: better way to do this?
|
@@ -27,8 +28,8 @@ if !host.nil? then
|
|
27
28
|
end
|
28
29
|
|
29
30
|
RSpec.configure do |c|
|
30
|
-
c.
|
31
|
-
|
31
|
+
c.treat_symbols_as_metadata_keys_with_true_values = true
|
32
|
+
|
32
33
|
# @return [Balanced::Marketplace]
|
33
34
|
def make_marketplace
|
34
35
|
api_key = Balanced::ApiKey.new.save
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: balanced
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,24 +9,24 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-03-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 0.8.6
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
29
|
+
version: 0.8.6
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: faraday_middleware
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -34,7 +34,7 @@ dependencies:
|
|
34
34
|
requirements:
|
35
35
|
- - ~>
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0.
|
37
|
+
version: 0.9.0
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -42,12 +42,13 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - ~>
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.
|
45
|
+
version: 0.9.0
|
46
46
|
description: ! "Balanced is the payments platform for marketplaces.\n Integrate
|
47
47
|
a payments experience just like Amazon for your marketplace.\n Forget about dealing
|
48
48
|
with banking systems, compliance, fraud, and security.\n "
|
49
49
|
email:
|
50
|
-
-
|
50
|
+
- !binary |-
|
51
|
+
bWFobW91ZEBwb3VuZHBheS5jb20=
|
51
52
|
executables: []
|
52
53
|
extensions: []
|
53
54
|
extra_rdoc_files: []
|
@@ -136,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
136
137
|
version: '0'
|
137
138
|
requirements: []
|
138
139
|
rubyforge_project:
|
139
|
-
rubygems_version: 1.8.
|
140
|
+
rubygems_version: 1.8.24
|
140
141
|
signing_key:
|
141
142
|
specification_version: 3
|
142
143
|
summary: Sign up on https://balancedpayments.com/
|