recurly 0.1.4 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of recurly might be problematic. Click here for more details.
- data/README.md +53 -7
- data/lib/recurly/account.rb +60 -7
- data/lib/recurly/base.rb +60 -43
- data/lib/recurly/billing_info.rb +2 -3
- data/lib/recurly/charge.rb +7 -2
- data/lib/recurly/credit.rb +7 -2
- data/lib/recurly/formats/xml_with_pagination.rb +38 -0
- data/lib/recurly/invoice.rb +17 -2
- data/lib/recurly/plan.rb +1 -4
- data/lib/recurly/subscription.rb +10 -11
- data/lib/recurly/transaction.rb +16 -1
- data/lib/recurly/version.rb +3 -0
- data/lib/recurly.rb +32 -9
- data/spec/integration/account_spec.rb +92 -0
- data/spec/integration/billing_info_spec.rb +66 -0
- data/spec/integration/charge_spec.rb +82 -0
- data/spec/integration/credit_spec.rb +87 -0
- data/spec/integration/invoice_spec.rb +75 -0
- data/spec/integration/plan_spec.rb +85 -0
- data/spec/integration/subscription_spec.rb +90 -0
- data/spec/integration/transaction_spec.rb +116 -0
- data/spec/spec_helper.rb +20 -0
- data/spec/spec_settings.yml.example +3 -0
- data/spec/support/factory.rb +204 -0
- data/spec/support/spec_settings.rb +36 -0
- data/spec/support/vcr.rb +11 -0
- metadata +112 -52
- data/Manifest +0 -23
- data/Rakefile +0 -14
- data/recurly.gemspec +0 -31
- data/test/account_test.rb +0 -41
- data/test/billing_info_test.rb +0 -28
- data/test/charge_test.rb +0 -30
- data/test/credit_test.rb +0 -30
- data/test/plan_test.rb +0 -18
- data/test/subscription_test.rb +0 -87
- data/test/test_helper.rb +0 -44
- data/test/transaction_test.rb +0 -19
data/test/subscription_test.rb
DELETED
@@ -1,87 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
require "test/unit"
|
3
|
-
|
4
|
-
class SubscriptionTest < Test::Unit::TestCase
|
5
|
-
|
6
|
-
def test_create_subscription_new_account
|
7
|
-
account = Recurly::Account.new(
|
8
|
-
:account_code => "#{Time.now.to_i}-new-sub-new-account",
|
9
|
-
:first_name => 'Verena',
|
10
|
-
:last_name => 'Test',
|
11
|
-
:email => 'verena@test.com',
|
12
|
-
:company_name => 'Recurly Ruby Gem')
|
13
|
-
|
14
|
-
sub = create_subscription(account)
|
15
|
-
assert_not_nil sub
|
16
|
-
assert_nil sub.canceled_at
|
17
|
-
assert_equal sub.state, 'active'
|
18
|
-
assert_not_nil sub.current_period_started_at
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_create_subscription_existing_account
|
22
|
-
account = create_account('existing-account')
|
23
|
-
sub = create_subscription(account)
|
24
|
-
|
25
|
-
assert_equal sub.state, 'active'
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_update_subscription
|
29
|
-
account = create_account('update-subscription')
|
30
|
-
sub = create_subscription(account)
|
31
|
-
|
32
|
-
sub.change('now', :quantity => 2)
|
33
|
-
|
34
|
-
sub = Recurly::Subscription.find(account.account_code)
|
35
|
-
assert_equal sub.quantity, 2
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_cancel_subscription
|
39
|
-
account = create_account('cancel-subscription')
|
40
|
-
subscription = create_subscription(account)
|
41
|
-
|
42
|
-
subscription.cancel(account.account_code)
|
43
|
-
|
44
|
-
sub = Recurly::Subscription.find(account.account_code)
|
45
|
-
assert_equal sub.state, 'canceled'
|
46
|
-
assert_not_nil sub.canceled_at
|
47
|
-
end
|
48
|
-
|
49
|
-
def test_refund_subscription
|
50
|
-
account = create_account('refund-subscription')
|
51
|
-
subscription = create_subscription(account)
|
52
|
-
|
53
|
-
subscription.refund(:full)
|
54
|
-
|
55
|
-
assert_raises ActiveResource::ResourceNotFound do
|
56
|
-
get_sub = Recurly::Subscription.find(account.account_code)
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
def create_subscription(account, subscription_attrs={})
|
61
|
-
account.billing_info = Recurly::BillingInfo.new(
|
62
|
-
:first_name => account.first_name,
|
63
|
-
:last_name => account.last_name,
|
64
|
-
:address1 => '123 Test St',
|
65
|
-
:city => 'San Francisco',
|
66
|
-
:state => 'CA',
|
67
|
-
:country => 'US',
|
68
|
-
:zip => '94103',
|
69
|
-
:credit_card => {
|
70
|
-
:number => '1',
|
71
|
-
:year => Time.now.year + 1,
|
72
|
-
:month => Time.now.month,
|
73
|
-
:verification_value => '123'
|
74
|
-
},
|
75
|
-
:ip_address => '127.0.0.1'
|
76
|
-
)
|
77
|
-
|
78
|
-
params = {:account_code => account.account_code,
|
79
|
-
:plan_code => TEST_PLAN_CODE,
|
80
|
-
:quantity => 1,
|
81
|
-
:account => account}.merge subscription_attrs
|
82
|
-
|
83
|
-
sub = Recurly::Subscription.create(params)
|
84
|
-
|
85
|
-
end
|
86
|
-
|
87
|
-
end
|
data/test/test_helper.rb
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
require 'test/unit'
|
2
|
-
require 'rubygems'
|
3
|
-
|
4
|
-
require File.dirname(__FILE__) + '/../lib/recurly'
|
5
|
-
|
6
|
-
Recurly.configure do |c|
|
7
|
-
c.username = ''
|
8
|
-
c.password = ''
|
9
|
-
c.site = ''
|
10
|
-
end
|
11
|
-
|
12
|
-
TEST_PLAN_CODE = 'trial'
|
13
|
-
|
14
|
-
def create_account(account_code)
|
15
|
-
account = Recurly::Account.create(
|
16
|
-
:account_code => "#{Time.now.to_i}-#{account_code}",
|
17
|
-
:first_name => 'Verena',
|
18
|
-
:last_name => 'Test',
|
19
|
-
:email => 'verena@test.com',
|
20
|
-
:company_name => 'Recurly Ruby Gem')
|
21
|
-
end
|
22
|
-
|
23
|
-
def create_account_with_billing_info(account_code)
|
24
|
-
|
25
|
-
account = create_account(account_code)
|
26
|
-
|
27
|
-
billing_info = Recurly::BillingInfo.create(
|
28
|
-
:account_code => account.account_code,
|
29
|
-
:first_name => account.first_name,
|
30
|
-
:last_name => account.last_name,
|
31
|
-
:address1 => '123 Test St',
|
32
|
-
:city => 'San Francisco',
|
33
|
-
:state => 'CA',
|
34
|
-
:zip => '94115',
|
35
|
-
:credit_card => {
|
36
|
-
:number => '1',
|
37
|
-
:year => Time.now.year + 1,
|
38
|
-
:month => Time.now.month,
|
39
|
-
:verification_value => '123'
|
40
|
-
}
|
41
|
-
)
|
42
|
-
|
43
|
-
account
|
44
|
-
end
|
data/test/transaction_test.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
require "test/unit"
|
3
|
-
|
4
|
-
class TransactionTest < Test::Unit::TestCase
|
5
|
-
|
6
|
-
def test_create_transaction
|
7
|
-
account = create_account_with_billing_info('transaction')
|
8
|
-
|
9
|
-
trans = Recurly::Transaction.create(
|
10
|
-
:account => { :account_code => account.account_code },
|
11
|
-
:amount_in_cents => 500,
|
12
|
-
:description => "test transaction for $5"
|
13
|
-
)
|
14
|
-
|
15
|
-
assert_not_nil trans.id
|
16
|
-
assert_equal trans.amount_in_cents, 500
|
17
|
-
end
|
18
|
-
|
19
|
-
end
|