stripe-ruby-mock 2.2.4 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/stripe_mock/api/bank_tokens.rb +5 -5
  4. data/lib/stripe_mock/api/card_tokens.rb +4 -4
  5. data/lib/stripe_mock/api/client.rb +6 -3
  6. data/lib/stripe_mock/api/errors.rb +4 -4
  7. data/lib/stripe_mock/api/server.rb +0 -1
  8. data/lib/stripe_mock/client.rb +12 -7
  9. data/lib/stripe_mock/data.rb +48 -2
  10. data/lib/stripe_mock/error_queue.rb +5 -1
  11. data/lib/stripe_mock/instance.rb +5 -3
  12. data/lib/stripe_mock/request_handlers/balance_transactions.rb +21 -0
  13. data/lib/stripe_mock/request_handlers/charges.rb +17 -10
  14. data/lib/stripe_mock/request_handlers/customers.rb +1 -0
  15. data/lib/stripe_mock/request_handlers/helpers/card_helpers.rb +35 -0
  16. data/lib/stripe_mock/request_handlers/helpers/token_helpers.rb +2 -2
  17. data/lib/stripe_mock/request_handlers/sources.rb +1 -1
  18. data/lib/stripe_mock/request_handlers/subscriptions.rb +79 -17
  19. data/lib/stripe_mock/request_handlers/tokens.rb +14 -4
  20. data/lib/stripe_mock/server.rb +21 -15
  21. data/lib/stripe_mock/test_strategies/base.rb +15 -0
  22. data/lib/stripe_mock/version.rb +1 -1
  23. data/lib/stripe_mock.rb +2 -1
  24. data/spec/server_spec.rb +1 -1
  25. data/spec/shared_stripe_examples/balance_transaction_examples.rb +35 -0
  26. data/spec/shared_stripe_examples/bank_examples.rb +202 -0
  27. data/spec/shared_stripe_examples/bank_token_examples.rb +8 -0
  28. data/spec/shared_stripe_examples/card_token_examples.rb +10 -0
  29. data/spec/shared_stripe_examples/charge_examples.rb +27 -1
  30. data/spec/shared_stripe_examples/customer_examples.rb +2 -1
  31. data/spec/shared_stripe_examples/invoice_examples.rb +12 -12
  32. data/spec/shared_stripe_examples/refund_examples.rb +13 -0
  33. data/spec/shared_stripe_examples/subscription_examples.rb +47 -56
  34. data/spec/support/stripe_examples.rb +5 -3
  35. data/stripe-ruby-mock.gemspec +2 -2
  36. metadata +14 -9
@@ -14,7 +14,7 @@ shared_examples 'Customer Subscriptions' do
14
14
  expect(customer.subscriptions.data).to be_empty
15
15
  expect(customer.subscriptions.count).to eq(0)
16
16
 
17
- sub = customer.subscriptions.create({ :plan => 'silver', :metadata => { :foo => "bar", :example => "yes" } })
17
+ sub = Stripe::Subscription.create({ plan: 'silver', customer: customer.id, metadata: { foo: "bar", example: "yes" } })
18
18
 
19
19
  expect(sub.object).to eq('subscription')
20
20
  expect(sub.plan.to_hash).to eq(plan.to_hash)
@@ -40,13 +40,13 @@ shared_examples 'Customer Subscriptions' do
40
40
  expect(customer.subscriptions.count).to eq(0)
41
41
 
42
42
  plan = stripe_helper.create_plan(id: :silver, name: 'Silver Plan', amount: 4999, currency: 'usd')
43
- sub = customer.subscriptions.create({ :plan => 'silver' })
43
+ sub = Stripe::Subscription.create({ plan: 'silver', customer: customer.id })
44
44
  customer = Stripe::Customer.retrieve(customer.id)
45
45
  expect(sub.plan.to_hash).to eq(plan.to_hash)
46
46
  expect(customer.subscriptions.count).to eq(1)
47
47
 
48
48
  plan = stripe_helper.create_plan(id: 'gold', name: 'Gold Plan', amount: 14999, currency: 'usd')
49
- sub = customer.subscriptions.create({ :plan => :gold })
49
+ sub = Stripe::Subscription.create({ plan: 'gold', customer: customer.id })
50
50
  customer = Stripe::Customer.retrieve(customer.id)
51
51
  expect(sub.plan.to_hash).to eq(plan.to_hash)
52
52
  expect(customer.subscriptions.count).to eq(2)
@@ -56,7 +56,7 @@ shared_examples 'Customer Subscriptions' do
56
56
  stripe_helper.create_plan(id: 'silver', name: 'Silver Plan', amount: 4999)
57
57
 
58
58
  customer = Stripe::Customer.create(source: gen_card_tk)
59
- customer.subscriptions.create({ :plan => 'silver', :metadata => { :foo => "bar", :example => "yes" } })
59
+ Stripe::Subscription.create({ plan: 'silver', customer: customer.id, metadata: { foo: "bar", example: "yes" } })
60
60
  customer = Stripe::Customer.retrieve(customer.id)
61
61
 
62
62
  expect(customer.charges.data.length).to eq(1)
@@ -67,7 +67,7 @@ shared_examples 'Customer Subscriptions' do
67
67
  plan = stripe_helper.create_plan(id: 'plan_with_coupon', name: 'One More Test Plan', amount: 777)
68
68
  coupon = stripe_helper.create_coupon(id: 'free_coupon', duration: 'repeating', duration_in_months: 3)
69
69
  customer = Stripe::Customer.create(source: gen_card_tk)
70
- customer.subscriptions.create(plan: plan.id, coupon: coupon.id)
70
+ Stripe::Subscription.create(plan: plan.id, customer: customer.id, coupon: coupon.id)
71
71
  customer = Stripe::Customer.retrieve(customer.id)
72
72
 
73
73
  expect(customer.subscriptions.data).to be_a(Array)
@@ -81,7 +81,7 @@ shared_examples 'Customer Subscriptions' do
81
81
  plan = stripe_helper.create_plan(id: 'plan_with_coupon', name: 'One More Test Plan', amount: 777)
82
82
  customer = Stripe::Customer.create(source: gen_card_tk)
83
83
 
84
- expect { customer.subscriptions.create(plan: plan.id, coupon: 'none') }.to raise_error {|e|
84
+ expect { Stripe::Subscription.create(plan: plan.id, customer: customer.id, coupon: 'none') }.to raise_error {|e|
85
85
  expect(e).to be_a Stripe::InvalidRequestError
86
86
  expect(e.http_status).to eq(400)
87
87
  expect(e.message).to eq('No such coupon: none')
@@ -99,8 +99,8 @@ shared_examples 'Customer Subscriptions' do
99
99
  )
100
100
  customer = Stripe::Customer.create(id: 'test_customer_sub', source: gen_card_tk)
101
101
 
102
- subscription = customer.subscriptions.create({
103
- :plan => "silver", quantity: 2, application_fee_percent: 10, tax_percent: 20})
102
+ subscription = Stripe::Subscription.create({
103
+ plan: "silver", customer: customer.id, quantity: 2, application_fee_percent: 10, tax_percent: 20})
104
104
  expect(subscription.quantity).to eq(2)
105
105
  expect(subscription.application_fee_percent).to eq(10)
106
106
  expect(subscription.tax_percent).to eq(20)
@@ -111,7 +111,7 @@ shared_examples 'Customer Subscriptions' do
111
111
  gold = stripe_helper.create_plan(id: 'gold')
112
112
  customer = Stripe::Customer.create(id: 'test_customer_sub', source: gen_card_tk, plan: 'gold')
113
113
 
114
- sub = customer.subscriptions.create({ :plan => 'silver' })
114
+ sub = Stripe::Subscription.create({ plan: 'silver', customer: customer.id })
115
115
 
116
116
  expect(sub.object).to eq('subscription')
117
117
  expect(sub.plan.to_hash).to eq(silver.to_hash)
@@ -133,7 +133,7 @@ shared_examples 'Customer Subscriptions' do
133
133
  plan = stripe_helper.create_plan(id: 'enterprise', amount: 499)
134
134
  customer = Stripe::Customer.create(id: 'cardless')
135
135
 
136
- sub = customer.subscriptions.create(plan: 'enterprise', source: gen_card_tk)
136
+ sub = Stripe::Subscription.create(plan: 'enterprise', customer: customer.id, source: gen_card_tk)
137
137
  customer = Stripe::Customer.retrieve('cardless')
138
138
 
139
139
  expect(customer.subscriptions.data.first.id).to eq(sub.id)
@@ -148,7 +148,7 @@ shared_examples 'Customer Subscriptions' do
148
148
  it "throws an error when plan does not exist" do
149
149
  customer = Stripe::Customer.create(id: 'cardless')
150
150
 
151
- expect { customer.subscriptions.create({ :plan => 'gazebo' }) }.to raise_error {|e|
151
+ expect { Stripe::Subscription.create({ plan: 'gazebo', customer: customer.id }) }.to raise_error {|e|
152
152
  expect(e).to be_a Stripe::InvalidRequestError
153
153
  expect(e.http_status).to eq(404)
154
154
  expect(e.message).to_not be_nil
@@ -162,7 +162,7 @@ shared_examples 'Customer Subscriptions' do
162
162
  plan = stripe_helper.create_plan(id: 'enterprise', amount: 499)
163
163
  customer = Stripe::Customer.create(id: 'cardless')
164
164
 
165
- expect { customer.subscriptions.create({ :plan => 'enterprise' }) }.to raise_error {|e|
165
+ expect { Stripe::Subscription.create({ plan: 'enterprise', customer: customer.id }) }.to raise_error {|e|
166
166
  expect(e).to be_a Stripe::InvalidRequestError
167
167
  expect(e.http_status).to eq(400)
168
168
  expect(e.message).to_not be_nil
@@ -175,10 +175,10 @@ shared_examples 'Customer Subscriptions' do
175
175
  it "throws an error when subscribing the customer to a second plan in a different currency" do
176
176
  usd_plan = stripe_helper.create_plan(id: 'enterprise_usd', amount: 499, currency: 'usd')
177
177
  customer = Stripe::Customer.create(id: 'test_customer_sub', source: gen_card_tk)
178
- usd_subscription = customer.subscriptions.create({ :plan => 'enterprise_usd' })
178
+ usd_subscription = Stripe::Subscription.create({ plan: 'enterprise_usd', customer: customer.id })
179
179
 
180
180
  eur_plan = stripe_helper.create_plan(id: 'enterprise_eur', amount: 499, currency: 'eur')
181
- expect { customer.subscriptions.create({ :plan => 'enterprise_eur' }) }.to raise_error {|e|
181
+ expect { Stripe::Subscription.create({ plan: 'enterprise_eur', customer: customer.id }) }.to raise_error {|e|
182
182
  expect(e).to be_a Stripe::InvalidRequestError
183
183
  expect(e.http_status).to eq(400)
184
184
  expect(e.message).to_not be_nil
@@ -189,7 +189,7 @@ shared_examples 'Customer Subscriptions' do
189
189
  plan = stripe_helper.create_plan(id: 'trial', amount: 999, trial_period_days: 14)
190
190
  customer = Stripe::Customer.create(id: 'cardless')
191
191
 
192
- sub = customer.subscriptions.create({ :plan => 'trial' })
192
+ sub = Stripe::Subscription.create({ plan: 'trial', customer: customer.id })
193
193
 
194
194
  expect(sub.object).to eq('subscription')
195
195
  expect(sub.plan.to_hash).to eq(plan.to_hash)
@@ -209,7 +209,7 @@ shared_examples 'Customer Subscriptions' do
209
209
  plan = stripe_helper.create_plan(id: 'free_tier', amount: 0)
210
210
  customer = Stripe::Customer.create(id: 'cardless')
211
211
 
212
- sub = customer.subscriptions.create({ :plan => 'free_tier' })
212
+ sub = Stripe::Subscription.create({ plan: 'free_tier', customer: customer.id })
213
213
 
214
214
  expect(sub.object).to eq('subscription')
215
215
  expect(sub.plan.to_hash).to eq(plan.to_hash)
@@ -229,7 +229,7 @@ shared_examples 'Customer Subscriptions' do
229
229
  customer = Stripe::Customer.create(id: 'short_trial')
230
230
  trial_end = Time.now.utc.to_i + 3600
231
231
 
232
- sub = customer.subscriptions.create({ plan: 'trial', trial_end: trial_end })
232
+ sub = Stripe::Subscription.create({ plan: 'trial', customer: customer.id, trial_end: trial_end })
233
233
 
234
234
  expect(sub.object).to eq('subscription')
235
235
  expect(sub.plan.to_hash).to eq(plan.to_hash)
@@ -241,7 +241,7 @@ shared_examples 'Customer Subscriptions' do
241
241
  plan = stripe_helper.create_plan(id: 'trial', amount: 999, trial_period_days: 14)
242
242
  customer = Stripe::Customer.create(id: 'no_trial', source: gen_card_tk)
243
243
 
244
- sub = customer.subscriptions.create({ plan: 'trial', trial_end: "now" })
244
+ sub = Stripe::Subscription.create({ plan: 'trial', customer: customer.id, trial_end: "now" })
245
245
 
246
246
  expect(sub.object).to eq('subscription')
247
247
  expect(sub.plan.to_hash).to eq(plan.to_hash)
@@ -254,7 +254,7 @@ shared_examples 'Customer Subscriptions' do
254
254
  plan = stripe_helper.create_plan(id: 'trial', amount: 999, trial_period_days: 14)
255
255
  customer = Stripe::Customer.create(id: 'cus_trial')
256
256
 
257
- expect { customer.subscriptions.create({ plan: 'trial', trial_end: "gazebo" }) }.to raise_error {|e|
257
+ expect { Stripe::Subscription.create({ plan: 'trial', customer: customer.id, trial_end: "gazebo" }) }.to raise_error {|e|
258
258
  expect(e).to be_a Stripe::InvalidRequestError
259
259
  expect(e.http_status).to eq(400)
260
260
  expect(e.message).to eq("Invalid timestamp: must be an integer")
@@ -266,7 +266,7 @@ shared_examples 'Customer Subscriptions' do
266
266
  customer = Stripe::Customer.create(id: 'past_trial')
267
267
  trial_end = Time.now.utc.to_i - 3600
268
268
 
269
- expect { customer.subscriptions.create({ plan: 'trial', trial_end: trial_end }) }.to raise_error {|e|
269
+ expect { Stripe::Subscription.create({ plan: 'trial', customer: customer.id, trial_end: trial_end }) }.to raise_error {|e|
270
270
  expect(e).to be_a Stripe::InvalidRequestError
271
271
  expect(e.http_status).to eq(400)
272
272
  expect(e.message).to eq("Invalid timestamp: must be an integer Unix timestamp in the future")
@@ -278,7 +278,7 @@ shared_examples 'Customer Subscriptions' do
278
278
  customer = Stripe::Customer.create(id: 'long_trial')
279
279
  trial_end = Time.now.utc.to_i + 31557600*5 + 3600 # 5 years + 1 hour
280
280
 
281
- expect { customer.subscriptions.create({ plan: 'trial', trial_end: trial_end }) }.to raise_error {|e|
281
+ expect { Stripe::Subscription.create({ plan: 'trial', customer: customer.id, trial_end: trial_end }) }.to raise_error {|e|
282
282
  expect(e).to be_a Stripe::InvalidRequestError
283
283
  expect(e.http_status).to eq(400)
284
284
  expect(e.message).to eq("Invalid timestamp: can be no more than five years in the future")
@@ -294,7 +294,7 @@ shared_examples 'Customer Subscriptions' do
294
294
  gold = stripe_helper.create_plan(id: 'gold')
295
295
  customer = Stripe::Customer.create(id: 'test_customer_sub', source: gen_card_tk, plan: 'silver')
296
296
 
297
- sub = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
297
+ sub = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
298
298
  sub.plan = 'gold'
299
299
  sub.quantity = 5
300
300
  sub.metadata.foo = "bar"
@@ -322,7 +322,7 @@ shared_examples 'Customer Subscriptions' do
322
322
  plan = stripe_helper.create_plan(id: 'plan_with_coupon2', name: 'One More Test Plan', amount: 777)
323
323
  coupon = stripe_helper.create_coupon
324
324
  customer = Stripe::Customer.create(source: gen_card_tk, plan: plan.id)
325
- subscription = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
325
+ subscription = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
326
326
 
327
327
  subscription.coupon = coupon.id
328
328
  subscription.save
@@ -335,7 +335,7 @@ shared_examples 'Customer Subscriptions' do
335
335
  it 'when add not exist coupon' do
336
336
  plan = stripe_helper.create_plan(id: 'plan_with_coupon3', name: 'One More Test Plan', amount: 777)
337
337
  customer = Stripe::Customer.create(source: gen_card_tk, plan: plan.id)
338
- subscription = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
338
+ subscription = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
339
339
 
340
340
  subscription.coupon = 'none'
341
341
 
@@ -351,7 +351,7 @@ shared_examples 'Customer Subscriptions' do
351
351
  free = stripe_helper.create_plan(id: 'free', amount: 0)
352
352
  customer = Stripe::Customer.create(id: 'cardless', plan: 'free')
353
353
 
354
- sub = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
354
+ sub = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
355
355
  sub.plan = 'gazebo'
356
356
 
357
357
  expect { sub.save }.to raise_error {|e|
@@ -370,7 +370,7 @@ shared_examples 'Customer Subscriptions' do
370
370
  free = stripe_helper.create_plan(id: 'free', amount: 0)
371
371
  customer = Stripe::Customer.create(id: 'cardless', plan: 'free')
372
372
 
373
- expect { customer.subscriptions.retrieve("gazebo") }.to raise_error {|e|
373
+ expect { Stripe::Subscription.retrieve("gazebo") }.to raise_error {|e|
374
374
  expect(e).to be_a Stripe::InvalidRequestError
375
375
  expect(e.http_status).to eq(404)
376
376
  expect(e.message).to_not be_nil
@@ -387,7 +387,7 @@ shared_examples 'Customer Subscriptions' do
387
387
  paid = stripe_helper.create_plan(id: 'enterprise', amount: 499)
388
388
  customer = Stripe::Customer.create(id: 'cardless', plan: 'free')
389
389
 
390
- sub = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
390
+ sub = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
391
391
  sub.plan = 'enterprise'
392
392
 
393
393
  expect { sub.save }.to raise_error {|e|
@@ -418,7 +418,7 @@ shared_examples 'Customer Subscriptions' do
418
418
  trial = stripe_helper.create_plan(id: 'trial', amount: 999, trial_period_days: 14)
419
419
  customer = Stripe::Customer.create(id: 'cardless', plan: 'free')
420
420
 
421
- sub = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
421
+ sub = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
422
422
  sub.plan = 'trial'
423
423
  sub.save
424
424
 
@@ -440,7 +440,7 @@ shared_examples 'Customer Subscriptions' do
440
440
  gratis = stripe_helper.create_plan(id: 'gratis', amount: 0)
441
441
  customer = Stripe::Customer.create(id: 'cardless', plan: 'free')
442
442
 
443
- sub = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
443
+ sub = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
444
444
  sub.plan = 'gratis'
445
445
  sub.save
446
446
 
@@ -462,7 +462,7 @@ shared_examples 'Customer Subscriptions' do
462
462
  paid = stripe_helper.create_plan(id: 'paid', amount: 499)
463
463
  customer = Stripe::Customer.create(id: 'test_customer_sub', plan: 'free')
464
464
 
465
- sub = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
465
+ sub = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
466
466
  sub.plan = 'paid'
467
467
  sub.source = gen_card_tk
468
468
  sub.save
@@ -479,7 +479,7 @@ shared_examples 'Customer Subscriptions' do
479
479
  plan = stripe_helper.create_plan(id: 'trial', amount: 999, trial_period_days: 14)
480
480
  customer = Stripe::Customer.create(id: 'test_trial_end', plan: 'trial')
481
481
 
482
- sub = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
482
+ sub = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
483
483
 
484
484
  trial_end = Time.now.utc.to_i + 3600
485
485
  sub.trial_end = trial_end
@@ -494,7 +494,7 @@ shared_examples 'Customer Subscriptions' do
494
494
  plan = stripe_helper.create_plan(id: 'trial', amount: 999, trial_period_days: 14)
495
495
  customer = Stripe::Customer.create(id: 'test_trial_end', plan: 'trial')
496
496
 
497
- sub = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
497
+ sub = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
498
498
 
499
499
  sub.trial_end = "now"
500
500
  sub.save
@@ -510,7 +510,7 @@ shared_examples 'Customer Subscriptions' do
510
510
  plan = stripe_helper.create_plan(id: 'no_trial', amount: 999)
511
511
  customer = Stripe::Customer.create(id: 'test_trial_end', plan: 'no_trial', source: gen_card_tk)
512
512
 
513
- sub = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
513
+ sub = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
514
514
 
515
515
  trial_end = Time.now.utc.to_i + 3600
516
516
  sub.trial_end = trial_end
@@ -528,7 +528,7 @@ shared_examples 'Customer Subscriptions' do
528
528
  plan = stripe_helper.create_plan(id: 'no_trial', amount: 999)
529
529
  customer = Stripe::Customer.create(id: 'test_trial_end', plan: 'no_trial', source: gen_card_tk)
530
530
 
531
- sub = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
531
+ sub = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
532
532
  sub.trial_end = "gazebo"
533
533
 
534
534
  expect { sub.save }.to raise_error {|e|
@@ -545,7 +545,7 @@ shared_examples 'Customer Subscriptions' do
545
545
  truth = stripe_helper.create_plan(id: 'the truth')
546
546
  customer = Stripe::Customer.create(source: gen_card_tk, plan: "the truth")
547
547
 
548
- sub = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
548
+ sub = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
549
549
  result = sub.delete
550
550
 
551
551
  expect(result.status).to eq('canceled')
@@ -563,7 +563,7 @@ shared_examples 'Customer Subscriptions' do
563
563
  truth = stripe_helper.create_plan(id: 'the_truth')
564
564
  customer = Stripe::Customer.create(id: 'test_customer_sub', source: gen_card_tk, plan: "the_truth")
565
565
 
566
- sub = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
566
+ sub = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
567
567
  result = sub.delete(at_period_end: true)
568
568
 
569
569
  expect(result.status).to eq('active')
@@ -585,7 +585,7 @@ shared_examples 'Customer Subscriptions' do
585
585
  truth = stripe_helper.create_plan(id: 'the_truth')
586
586
  customer = Stripe::Customer.create(id: 'test_customer_sub', source: gen_card_tk, plan: "the_truth")
587
587
 
588
- sub = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
588
+ sub = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
589
589
  result = sub.delete(at_period_end: true)
590
590
 
591
591
  sub.plan = 'the_truth'
@@ -607,7 +607,7 @@ shared_examples 'Customer Subscriptions' do
607
607
  trial = stripe_helper.create_plan(id: 'trial', trial_period_days: 14)
608
608
  customer = Stripe::Customer.create(id: 'test_customer_sub', source: gen_card_tk, plan: "trial")
609
609
 
610
- sub = customer.subscriptions.retrieve(customer.subscriptions.data.first.id)
610
+ sub = Stripe::Subscription.retrieve(customer.subscriptions.data.first.id)
611
611
  result = sub.delete(at_period_end: true)
612
612
 
613
613
  expect(result.status).to eq('trialing')
@@ -626,10 +626,9 @@ shared_examples 'Customer Subscriptions' do
626
626
  :id => 'gold'
627
627
  )
628
628
 
629
- options = {plan: plan.id, trial_end: (Date.today + 30).to_time.to_i}
630
-
631
629
  stripe_customer = Stripe::Customer.create
632
- stripe_customer.subscriptions.create options
630
+ options = {plan: plan.id, customer: stripe_customer.id, trial_end: (Date.today + 30).to_time.to_i}
631
+ Stripe::Subscription.create options
633
632
  end
634
633
 
635
634
  context "retrieve multiple subscriptions" do
@@ -638,28 +637,20 @@ shared_examples 'Customer Subscriptions' do
638
637
  free = stripe_helper.create_plan(id: 'free', amount: 0)
639
638
  paid = stripe_helper.create_plan(id: 'paid', amount: 499)
640
639
  customer = Stripe::Customer.create(id: 'test_customer_sub', source: gen_card_tk, plan: "free")
641
- customer.subscriptions.create({ :plan => 'paid' })
642
-
643
- customer = Stripe::Customer.retrieve('test_customer_sub')
644
-
645
- list = customer.subscriptions.all
646
-
647
- expect(list.object).to eq("list")
648
- expect(list.count).to eq(2)
649
- expect(list.data.length).to eq(2)
640
+ Stripe::Subscription.create({ plan: 'paid', customer: customer.id })
650
641
 
651
- expect(list.data.last.object).to eq("subscription")
652
- expect(list.data.last.plan.to_hash).to eq(free.to_hash)
642
+ subs = Stripe::Subscription.all({ customer: customer.id })
653
643
 
654
- expect(list.data.first.object).to eq("subscription")
655
- expect(list.data.first.plan.to_hash).to eq(paid.to_hash)
644
+ expect(subs.object).to eq("list")
645
+ expect(subs.count).to eq(2)
646
+ expect(subs.data.length).to eq(2)
656
647
  end
657
648
 
658
649
  it "retrieves an empty list if there's no subscriptions" do
659
650
  Stripe::Customer.create(id: 'no_subs')
660
651
  customer = Stripe::Customer.retrieve('no_subs')
661
652
 
662
- list = customer.subscriptions.all
653
+ list = Stripe::Subscription.all({ customer: customer.id })
663
654
 
664
655
  expect(list.object).to eq("list")
665
656
  expect(list.count).to eq(0)
@@ -684,7 +675,7 @@ shared_examples 'Customer Subscriptions' do
684
675
  source: gen_card_tk
685
676
  })
686
677
 
687
- subscription = customer.subscriptions.create(:plan => "Sample5")
678
+ subscription = Stripe::Subscription.create({ plan: "Sample5", customer: customer.id })
688
679
  subscription.metadata['foo'] = 'bar'
689
680
 
690
681
  expect(subscription.save).to be_a Stripe::Subscription
@@ -4,15 +4,17 @@ def require_stripe_examples
4
4
  Dir["./spec/integration_examples/**/*.rb"].each {|f| require f}
5
5
  end
6
6
 
7
- def it_behaves_like_stripe(&block)
7
+ def it_behaves_like_stripe(&block)
8
8
  it_behaves_like 'Account API', &block
9
+ it_behaves_like 'Balance Transaction API', &block
9
10
  it_behaves_like 'Bank Account Token Mocking', &block
10
11
  it_behaves_like 'Card Token Mocking', &block
11
12
  it_behaves_like 'Card API', &block
12
13
  it_behaves_like 'Charge API', &block
14
+ it_behaves_like 'Bank API', &block
13
15
  it_behaves_like 'Coupon API', &block
14
- it_behaves_like 'Customer API', &block
15
- it_behaves_like 'Dispute API', &block
16
+ it_behaves_like 'Customer API', &block
17
+ it_behaves_like 'Dispute API', &block
16
18
  it_behaves_like 'Extra Features', &block
17
19
  it_behaves_like 'Invoice API', &block
18
20
  it_behaves_like 'Invoice Item API', &block
@@ -17,8 +17,8 @@ Gem::Specification.new do |gem|
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ['lib']
19
19
 
20
- gem.add_dependency 'stripe', ['>= 1.31.0', '< 1.42']
21
- gem.add_dependency 'jimson-temp'
20
+ gem.add_dependency 'stripe', ['>= 1.31.0', '<= 1.43']
21
+ gem.add_dependency 'multi_json', '>= 1.0.0'
22
22
  gem.add_dependency 'dante', '>= 0.2.0'
23
23
 
24
24
  gem.add_development_dependency 'rspec', '~> 3.1.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stripe-ruby-mock
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.4
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gilbert
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-06 00:00:00.000000000 Z
11
+ date: 2016-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: stripe
@@ -17,9 +17,9 @@ dependencies:
17
17
  - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.31.0
20
- - - <
20
+ - - <=
21
21
  - !ruby/object:Gem::Version
22
- version: '1.42'
22
+ version: '1.43'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -27,23 +27,23 @@ dependencies:
27
27
  - - '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: 1.31.0
30
- - - <
30
+ - - <=
31
31
  - !ruby/object:Gem::Version
32
- version: '1.42'
32
+ version: '1.43'
33
33
  - !ruby/object:Gem::Dependency
34
- name: jimson-temp
34
+ name: multi_json
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - '>='
38
38
  - !ruby/object:Gem::Version
39
- version: '0'
39
+ version: 1.0.0
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - '>='
45
45
  - !ruby/object:Gem::Version
46
- version: '0'
46
+ version: 1.0.0
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: dante
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -140,6 +140,7 @@ files:
140
140
  - lib/stripe_mock/errors/unsupported_request_error.rb
141
141
  - lib/stripe_mock/instance.rb
142
142
  - lib/stripe_mock/request_handlers/accounts.rb
143
+ - lib/stripe_mock/request_handlers/balance_transactions.rb
143
144
  - lib/stripe_mock/request_handlers/cards.rb
144
145
  - lib/stripe_mock/request_handlers/charges.rb
145
146
  - lib/stripe_mock/request_handlers/coupons.rb
@@ -219,6 +220,8 @@ files:
219
220
  - spec/readme_spec.rb
220
221
  - spec/server_spec.rb
221
222
  - spec/shared_stripe_examples/account_examples.rb
223
+ - spec/shared_stripe_examples/balance_transaction_examples.rb
224
+ - spec/shared_stripe_examples/bank_examples.rb
222
225
  - spec/shared_stripe_examples/bank_token_examples.rb
223
226
  - spec/shared_stripe_examples/card_examples.rb
224
227
  - spec/shared_stripe_examples/card_token_examples.rb
@@ -279,6 +282,8 @@ test_files:
279
282
  - spec/readme_spec.rb
280
283
  - spec/server_spec.rb
281
284
  - spec/shared_stripe_examples/account_examples.rb
285
+ - spec/shared_stripe_examples/balance_transaction_examples.rb
286
+ - spec/shared_stripe_examples/bank_examples.rb
282
287
  - spec/shared_stripe_examples/bank_token_examples.rb
283
288
  - spec/shared_stripe_examples/card_examples.rb
284
289
  - spec/shared_stripe_examples/card_token_examples.rb