rspec-stripe 0.0.1 → 0.0.2g

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: faa5490d004c1911a1fdbf4844935a8664b78525
4
- data.tar.gz: 8ea44304c4f8fcaf9123c5f489430a904eedd6fa
3
+ metadata.gz: bb9e0bb5492c01f84b7e5eb5cb2bdf775a2dd5f4
4
+ data.tar.gz: db27c2219c6ff83c437df214cac121dddcf4a63b
5
5
  SHA512:
6
- metadata.gz: 39e3817fe9e703b6d76ce4ecbd1e4934f1795acf60e167245e3ed0e20f764b73b0513ce9e16527999ca67c99a1da0ff2a1552579003e23e00a4a498637b28b78
7
- data.tar.gz: 6ed0e1da5161634d259584c1f1a23ebdcde557a83beaa752d3f343fe348d8c2d91542a529e9d5429c6c7cc152ffc9ce8e4e8bdf2f23500ee3a0712728961bd23
6
+ metadata.gz: 1f4ab1fea611fa86243da512bd98cd4183150c16d2a7dfc52ad985f38c9d697ae210b4b567a331d1235b040aafb292a15250af3f6ee6b8ad5d5cf826a6a86f3e
7
+ data.tar.gz: e6a415128cc150a0f38e236cbf84a0fd096dfb5e23a7b2c4faf199d04304a2f14488e133e7ecc51ffffea2bb059ec0c72bf27ee084a9da6f862343ba4b1359dc
data/.gitignore CHANGED
@@ -1 +1,2 @@
1
- .env
1
+ .env
2
+ *.gem
@@ -1,6 +1,6 @@
1
1
  module RSpecStripe::Factory
2
2
  class Card
3
- attr_accessor :should_delete, :id, :customer
3
+ attr_accessor :id, :customer
4
4
 
5
5
  def initialize(id, customer)
6
6
  @id = id || :visa
@@ -8,14 +8,18 @@ module RSpecStripe::Factory
8
8
  end
9
9
 
10
10
  def get
11
- @id ||= :visa
12
- @should_delete = true
13
- customer.cards.create(card: recipes[id].merge(
14
- exp_month: "01",
15
- exp_year: "2025",
16
- cvc: "111",
17
- name: customer.id
18
- ))
11
+ @get ||= begin
12
+ customer.cards.create(card: recipes[id].merge(
13
+ exp_month: "01",
14
+ exp_year: "2025",
15
+ cvc: "111",
16
+ name: customer.id
17
+ ))
18
+ end
19
+ end
20
+
21
+ def cleanup
22
+ get.delete
19
23
  end
20
24
 
21
25
  def recipes
@@ -1,15 +1,19 @@
1
1
  module RSpecStripe::Factory
2
2
  Customer = Struct.new(:id) do
3
- attr_accessor :should_delete
4
-
5
3
  def get
6
- if id == :new || id == true
7
- @should_delete = true
8
- Stripe::Customer.create
9
- else
10
- @should_delete = false
11
- Stripe::Customer.retrieve(id)
4
+ @get ||= begin
5
+ if id == :new || id == true
6
+ @should_delete = true
7
+ Stripe::Customer.create
8
+ else
9
+ @should_delete = false
10
+ Stripe::Customer.retrieve(id)
11
+ end
12
12
  end
13
13
  end
14
+
15
+ def cleanup
16
+ get.delete if @should_delete
17
+ end
14
18
  end
15
19
  end
@@ -1,20 +1,24 @@
1
1
  module RSpecStripe::Factory
2
2
  Plan = Struct.new(:id) do
3
- attr_accessor :should_delete
4
-
5
3
  def get
6
- @should_delete = false
7
- Stripe::Plan.retrieve(id)
8
- rescue Stripe::InvalidRequestError
9
- @should_delete = true
10
- # Lookup the plan's details and then create it
11
- Stripe::Plan.create(
12
- amount: 2000,
13
- interval: 'month',
14
- name: 'Amazing Gold Plan',
15
- currency: 'usd',
16
- id: id
17
- )
4
+ @get ||= begin
5
+ @should_delete = false
6
+ Stripe::Plan.retrieve(id)
7
+ rescue Stripe::InvalidRequestError
8
+ @should_delete = true
9
+ # Lookup the plan's details and then create it
10
+ Stripe::Plan.create(
11
+ amount: 2000,
12
+ interval: 'month',
13
+ name: 'Amazing Gold Plan',
14
+ currency: 'usd',
15
+ id: id
16
+ )
17
+ end
18
+ end
19
+
20
+ def cleanup
21
+ get.delete if @should_delete
18
22
  end
19
23
  end
20
24
  end
@@ -1,11 +1,14 @@
1
1
  module RSpecStripe::Factory
2
2
  Subscription = Struct.new(:id, :customer) do
3
- attr_accessor :should_delete
4
-
5
3
  def get
6
- @should_delete = true
7
- cancel_subscriptions
8
- customer.subscriptions.create(plan: id)
4
+ @get ||= begin
5
+ cancel_subscriptions
6
+ customer.subscriptions.create(plan: id)
7
+ end
8
+ end
9
+
10
+ def cleanup
11
+ get.delete
9
12
  end
10
13
 
11
14
  private
@@ -18,14 +18,17 @@ module RSpecStripe
18
18
  end
19
19
 
20
20
  def cleanup!
21
- subscription.delete if subscription_factory.should_delete
22
- plan.delete if plan_factory.should_delete
23
- card.delete if card_factory.should_delete
24
- customer.delete if customer_factory.should_delete
21
+ factories.reject(&:nil?).each do |factory|
22
+ factory.cleanup
23
+ end
25
24
  end
26
25
 
27
26
  private
28
27
 
28
+ def factories
29
+ [ @subscription_factory, @plan_factory, @card_factory, @customer_factory ]
30
+ end
31
+
29
32
  def customer_factory
30
33
  @customer_factory ||= RSpecStripe::Factory::Customer.new(recipes[:customer])
31
34
  end
data/rspec-stripe.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
  s.require_paths = ["lib"]
13
13
  s.files = `git ls-files`.split("\n")
14
14
 
15
- s.version = "0.0.1"
15
+ s.version = "0.0.2g"
16
16
  s.required_ruby_version = '>= 2.0.0'
17
17
  s.required_rubygems_version = '>= 1.6.2'
18
18
  end
data/spec/basic_rspec.rb CHANGED
@@ -7,10 +7,16 @@ describe 'Basic' do
7
7
  expect {
8
8
  Stripe::Customer.retrieve(stripe_customer.id)
9
9
  }.not_to raise_error
10
+
11
+ expect(stripe_plan).to eq(nil)
12
+ expect(stripe_subscription).to eq(nil)
10
13
  end
11
14
 
12
15
  it "gives a plan", stripe: { plan: "test" } do
13
16
  expect(stripe_plan).not_to eq(nil)
17
+
18
+ expect(stripe_customer).to eq(nil)
19
+ expect(stripe_subscription).to eq(nil)
14
20
  end
15
21
 
16
22
  it "gives me a subscription", stripe: { customer: :new, plan: "test", subscription: "test" } do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-stripe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2g
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Bussey