Class: StripeMock::TestStrategies::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/stripe_mock/test_strategies/base.rb

Direct Known Subclasses

Live, Mock

Instance Method Summary collapse

Instance Method Details

#create_coupon(params = {}) ⇒ Object



47
48
49
# File 'lib/stripe_mock/test_strategies/base.rb', line 47

def create_coupon(params = {})
  Stripe::Coupon.create create_coupon_params(params)
end

#create_coupon_params(params = {}) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/stripe_mock/test_strategies/base.rb', line 24

def create_coupon_params(params = {})
  {
    id: '10BUCKS',
    amount_off: 1000,
    currency: 'usd',
    max_redemptions: 100,
    metadata: {
      created_by: 'admin_acct_1'
    },
    duration: 'once'
  }.merge(params)
end

#create_coupon_percent_of_params(params = {}) ⇒ Object



37
38
39
40
41
42
43
44
45
# File 'lib/stripe_mock/test_strategies/base.rb', line 37

def create_coupon_percent_of_params(params = {})
  {
    id: '25PERCENT',
    percent_off: 25,
    redeem_by: nil,
    duration_in_months: 3,
    duration: :repeating
  }.merge(params)
end

#create_plan_params(params = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/stripe_mock/test_strategies/base.rb', line 5

def create_plan_params(params={})
  {
    :id => 'stripe_mock_default_plan_id',
    :name => 'StripeMock Default Plan ID',
    :amount => 1337,
    :currency => 'usd',
    :interval => 'month'
  }.merge(params)
end

#delete_all_couponsObject



51
52
53
54
# File 'lib/stripe_mock/test_strategies/base.rb', line 51

def delete_all_coupons
  coupons = Stripe::Coupon.all
  coupons.data.map(&:delete) if coupons.data.count > 0
end

#generate_card_token(card_params = {}) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/stripe_mock/test_strategies/base.rb', line 15

def generate_card_token(card_params={})
  card_data = { :number => "4242424242424242", :exp_month => 9, :exp_year => 2018, :cvc => "999" }
  card = StripeMock::Util.card_merge(card_data, card_params)
  card[:fingerprint] = StripeMock::Util.fingerprint(card[:number]) if StripeMock.state == 'local'

  stripe_token = Stripe::Token.create(:card => card)
  stripe_token.id
end

#prepare_card_errorObject



56
57
58
# File 'lib/stripe_mock/test_strategies/base.rb', line 56

def prepare_card_error
  StripeMock.prepare_card_error(:card_error, :new_customer) if StripeMock.state == 'local'
end