class StripeMock::TestStrategies::Base

Public Instance Methods

create_coupon(params = {}) click to toggle source
# File lib/stripe_mock/test_strategies/base.rb, line 100
def create_coupon(params = {})
  Stripe::Coupon.create create_coupon_params(params)
end
create_coupon_params(params = {}) click to toggle source
# File lib/stripe_mock/test_strategies/base.rb, line 76
def create_coupon_params(params = {})
  currency = params[:currency] || StripeMock.default_currency
  {
    id: '10BUCKS',
    amount_off: 1000,
    currency: currency,
    max_redemptions: 100,
    metadata: {
      created_by: 'admin_acct_1'
    },
    duration: 'once'
  }.merge(params)
end
create_coupon_percent_of_params(params = {}) click to toggle source
# File lib/stripe_mock/test_strategies/base.rb, line 90
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={}) click to toggle source
# File lib/stripe_mock/test_strategies/base.rb, line 30
def create_plan(params={})
  Stripe::Plan.create create_plan_params(params)
end
create_plan_params(params={}) click to toggle source
# File lib/stripe_mock/test_strategies/base.rb, line 34
def create_plan_params(params={})
  {
    :id => 'stripe_mock_default_plan_id',
    :interval => 'month',
    :currency => StripeMock.default_currency,
    :product => nil, # need to override yourself to pass validations
    :amount => 1337
  }.merge(params)
end
create_product(params = {}) click to toggle source
# File lib/stripe_mock/test_strategies/base.rb, line 9
def create_product(params = {})
  Stripe::Product.create create_product_params(params)
end
create_product_params(params={}) click to toggle source
# File lib/stripe_mock/test_strategies/base.rb, line 13
def create_product_params(params={})
  {
    :id => 'stripe_mock_default_product_id',
    :name => 'Default Product',
    :type => 'service'
  }.merge(params)
end
delete_all_coupons() click to toggle source
# File lib/stripe_mock/test_strategies/base.rb, line 104
def delete_all_coupons
  coupons = Stripe::Coupon.list
  coupons.data.map(&:delete) if coupons.data.count > 0
end
generate_bank_token(bank_account_params={}) click to toggle source
# File lib/stripe_mock/test_strategies/base.rb, line 59
def generate_bank_token(bank_account_params={})
  currency = bank_account_params[:currency] || StripeMock.default_currency
  bank_account = {
    :country => "US",
    :currency => currency,
    :account_holder_name => "Jane Austen",
    :account_holder_type => "individual",
    :routing_number => "110000000",
    :account_number => "000123456789"
  }.merge(bank_account_params)
  bank_account[:fingerprint] = StripeMock::Util.fingerprint(bank_account[:account_number]) if StripeMock.state == 'local'

  stripe_token = Stripe::Token.create(:bank_account => bank_account)
  stripe_token.id
end
generate_card_token(card_params={}) click to toggle source
# File lib/stripe_mock/test_strategies/base.rb, line 50
def generate_card_token(card_params={})
  card_data = { :number => "4242424242424242", :exp_month => 9, :exp_year => (Time.now.year + 5), :cvc => "999", :tokenization_method => nil }
  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
list_plans(limit) click to toggle source
# File lib/stripe_mock/test_strategies/base.rb, line 26
def list_plans(limit)
  Stripe::Plan.list(limit: limit)
end
list_products(limit) click to toggle source
# File lib/stripe_mock/test_strategies/base.rb, line 5
def list_products(limit)
  Stripe::Product.list(limit: limit)
end
list_subscriptions(limit) click to toggle source
# File lib/stripe_mock/test_strategies/base.rb, line 45
def list_subscriptions(limit)
  Stripe::Subscription.list(limit: limit)
end
prepare_card_error() click to toggle source
# File lib/stripe_mock/test_strategies/base.rb, line 109
def prepare_card_error
  StripeMock.prepare_card_error(:card_error, :new_customer) if StripeMock.state == 'local'
end
retrieve_product(product_id) click to toggle source
# File lib/stripe_mock/test_strategies/base.rb, line 21
def retrieve_product(product_id)
  Stripe::Product.retrieve(product_id)
end