stripe-ruby-mock 2.2.4 → 2.3.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.
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