stripe-ruby-mock 1.8.3.1 → 1.8.3.2

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/README.md CHANGED
@@ -45,7 +45,7 @@ end
45
45
 
46
46
  ## Mocking Errors
47
47
 
48
- Tired of manually inputting fake credit card numbers to test against errors? Consider it a thing of the past!
48
+ Tired of manually inputting fake credit card numbers to test against errors? Tire no longer!
49
49
 
50
50
  ```ruby
51
51
  it "mocks a declined card error" do
@@ -79,11 +79,28 @@ it "raises a custom error" do
79
79
  end
80
80
  ```
81
81
 
82
+ ### Built-In Card Errors
83
+
84
+ ```ruby
85
+ StripeMock.prepare_card_error(:incorrect_number)
86
+ StripeMock.prepare_card_error(:invalid_number)
87
+ StripeMock.prepare_card_error(:invalid_expiry_month)
88
+ StripeMock.prepare_card_error(:invalid_expiry_year)
89
+ StripeMock.prepare_card_error(:invalid_cvc)
90
+ StripeMock.prepare_card_error(:expired_card)
91
+ StripeMock.prepare_card_error(:incorrect_cvc)
92
+ StripeMock.prepare_card_error(:card_declined)
93
+ StripeMock.prepare_card_error(:missing)
94
+ StripeMock.prepare_card_error(:processing_error)
95
+ ```
96
+
97
+ You can see the details of each error in [lib/stripe_mock/api/errors.rb](lib/stripe_mock/api/errors.rb)
98
+
82
99
  ## TODO
83
100
 
84
101
  * Cover all stripe urls/methods
85
102
  * Create hash for storing/retrieving all stripe objects in-memory
86
- * Currently implemented for: **Customers** and **Charges**
103
+ * Currently implemented for: **Customers**, **Charges**, and **Plans**
87
104
 
88
105
  ## Copyright
89
106
 
@@ -297,6 +297,13 @@ module StripeMock
297
297
  }
298
298
  end
299
299
 
300
+ def self.test_delete_subscription(id)
301
+ {
302
+ id: id,
303
+ deleted: true
304
+ }
305
+ end
306
+
300
307
  def self.test_api_error
301
308
  {
302
309
  :error => {
@@ -3,10 +3,11 @@ module StripeMock
3
3
  module Customers
4
4
 
5
5
  def Customers.included(klass)
6
- klass.add_handler 'post /v1/customers', :new_customer
7
- klass.add_handler 'post /v1/customers/(.*)/subscription', :new_subscription
8
- klass.add_handler 'post /v1/customers/(.*)', :update_customer
9
- klass.add_handler 'get /v1/customers/(.*)', :get_customer
6
+ klass.add_handler 'post /v1/customers', :new_customer
7
+ klass.add_handler 'post /v1/customers/(.*)/subscription', :new_subscription
8
+ klass.add_handler 'delete /v1/customers/(.*)/subscription', :cancel_subscription
9
+ klass.add_handler 'post /v1/customers/(.*)', :update_customer
10
+ klass.add_handler 'get /v1/customers/(.*)', :get_customer
10
11
  end
11
12
 
12
13
  def new_customer(route, method_url, params, headers)
@@ -18,6 +19,10 @@ module StripeMock
18
19
  Data.test_subscription(params[:plan])
19
20
  end
20
21
 
22
+ def cancel_subscription(route, method_url, params, headers)
23
+ Data.test_delete_subscription(params[:id])
24
+ end
25
+
21
26
  def update_customer(route, method_url, params, headers)
22
27
  route =~ method_url
23
28
  customers[$1] ||= Data.test_customer(:id => $1)
@@ -1,4 +1,4 @@
1
1
  module StripeMock
2
2
  # stripe-ruby-mock version
3
- VERSION = "1.8.3.1"
3
+ VERSION = "1.8.3.2"
4
4
  end
data/spec/readme_spec.rb CHANGED
@@ -42,4 +42,17 @@ describe 'README examples' do
42
42
  end
43
43
  end
44
44
 
45
+ it "has built-in card errors" do
46
+ StripeMock.prepare_card_error(:incorrect_number)
47
+ StripeMock.prepare_card_error(:invalid_number)
48
+ StripeMock.prepare_card_error(:invalid_expiry_month)
49
+ StripeMock.prepare_card_error(:invalid_expiry_year)
50
+ StripeMock.prepare_card_error(:invalid_cvc)
51
+ StripeMock.prepare_card_error(:expired_card)
52
+ StripeMock.prepare_card_error(:incorrect_cvc)
53
+ StripeMock.prepare_card_error(:card_declined)
54
+ StripeMock.prepare_card_error(:missing)
55
+ StripeMock.prepare_card_error(:processing_error)
56
+ end
57
+
45
58
  end
@@ -73,4 +73,11 @@ describe 'Customer API' do
73
73
  expect(sub.plan.id).to eq('silver')
74
74
  end
75
75
 
76
+ it "cancels a stripe customer's subscription" do
77
+ customer = Stripe::Customer.retrieve("test_customer_sub")
78
+ sub = customer.cancel_subscription
79
+
80
+ expect(sub.deleted).to eq(true)
81
+ end
82
+
76
83
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stripe-ruby-mock
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.3.1
4
+ version: 1.8.3.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-22 00:00:00.000000000 Z
12
+ date: 2013-05-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: stripe