test/test_helper.rb in stripe-1.16.0 vs test/test_helper.rb in stripe-1.16.1
- old
+ new
@@ -1,12 +1,13 @@
require 'stripe'
require 'test/unit'
require 'mocha/setup'
require 'stringio'
require 'shoulda'
+require File.expand_path('../test_data', __FILE__)
-#monkeypatch request methods
+# monkeypatch request methods
module Stripe
@mock_rest_client = nil
def self.mock_rest_client=(mock_client)
@mock_rest_client = mock_client
@@ -21,416 +22,12 @@
when :delete then @mock_rest_client.delete opts[:url], get_params, post_params
end
end
end
-def test_response(body, code=200)
- # When an exception is raised, restclient clobbers method_missing. Hence we
- # can't just use the stubs interface.
- body = JSON.generate(body) if !(body.kind_of? String)
- m = mock
- m.instance_variable_set('@stripe_values', { :body => body, :code => code })
- def m.body; @stripe_values[:body]; end
- def m.code; @stripe_values[:code]; end
- m
-end
-
-def test_balance(params={})
- {
- :pending => [
- {:amount => 12345, :currency => "usd"}
- ],
- :available => [
- {:amount => 6789, :currency => "usd"}
- ],
- :livemode => false,
- :object => "balance"
- }.merge(params)
-end
-
-def test_balance_transaction(params={})
- {
- :amount => 100,
- :net => 41,
- :currency => "usd",
- :type => "charge",
- :created => 1371945005,
- :available_on => 1372549805,
- :status => "pending",
- :description => "A test balance transaction",
- :fee => 59,
- :object => "balance_transaction"
- }.merge(params)
-end
-
-def test_balance_transaction_array
- {
- :data => [test_balance_transaction, test_balance_transaction, test_balance_transaction],
- :object => "list",
- :url => "/v1/balance/history"
- }
-end
-
-def test_application_fee(params={})
- id = params[:id] || 'fee_test_fee'
- {
- :refunded => false,
- :amount => 100,
- :application => "ca_test_application",
- :user => "acct_test_user",
- :charge => "ch_test_charge",
- :id => id,
- :livemode => false,
- :currency => "usd",
- :object => "application_fee",
- :refunds => test_application_fee_refund_array(id),
- :created => 1304114826
- }.merge(params)
-end
-
-def test_application_fee_refund(params = {})
- {
- :object => 'fee_refund',
- :amount => 30,
- :currency => "usd",
- :created => 1308595038,
- :id => "ref_test_app_fee_refund",
- :fee => "ca_test_application",
- :metadata => {}
- }.merge(params)
-end
-
-def test_application_fee_array
- {
- :data => [test_application_fee, test_application_fee, test_application_fee],
- :object => 'list',
- :url => '/v1/application_fees'
- }
-end
-
-def test_application_fee_refund_array(fee_id)
- {
- :data => [test_application_fee_refund, test_application_fee_refund, test_application_fee_refund],
- :object => 'list',
- :url => '/v1/application_fees/' + fee_id + '/refunds'
- }
-end
-
-def test_customer(params={})
- id = params[:id] || 'c_test_customer'
- {
- :subscription_history => [],
- :bills => [],
- :charges => [],
- :livemode => false,
- :object => "customer",
- :id => id,
- :default_card => "cc_test_card",
- :created => 1304114758,
- :cards => test_card_array(id),
- :metadata => {},
- :subscriptions => test_subscription_array(id)
- }.merge(params)
-end
-
-def test_customer_array
- {
- :data => [test_customer, test_customer, test_customer],
- :object => 'list',
- :url => '/v1/customers'
- }
-end
-
-def test_charge(params={})
- id = params[:id] || 'ch_test_charge'
- {
- :refunded => false,
- :paid => true,
- :amount => 100,
- :card => {
- :type => "Visa",
- :last4 => "4242",
- :exp_month => 11,
- :country => "US",
- :exp_year => 2012,
- :id => "cc_test_card",
- :object => "card"
- },
- :id => id,
- :reason => "execute_charge",
- :livemode => false,
- :currency => "usd",
- :object => "charge",
- :created => 1304114826,
- :refunds => test_refund_array(id),
- :metadata => {}
- }.merge(params)
-end
-
-def test_charge_array
- {
- :data => [test_charge, test_charge, test_charge],
- :object => 'list',
- :url => '/v1/charges'
- }
-end
-
-def test_card_array(customer_id)
- {
- :data => [test_card, test_card, test_card],
- :object => 'list',
- :url => '/v1/customers/' + customer_id + '/cards'
- }
-end
-
-def test_card(params={})
- {
- :type => "Visa",
- :last4 => "4242",
- :exp_month => 11,
- :country => "US",
- :exp_year => 2012,
- :id => "cc_test_card",
- :customer => 'c_test_customer',
- :object => "card"
- }.merge(params)
-end
-
-def test_coupon(params={})
- {
- :duration => 'repeating',
- :duration_in_months => 3,
- :percent_off => 25,
- :id => "co_test_coupon",
- :object => "coupon"
- }.merge(params)
-end
-
-#FIXME nested overrides would be better than hardcoding plan_id
-def test_subscription(params = {})
- plan = params.delete(:plan) || 'gold'
- {
- :current_period_end => 1308681468,
- :status => "trialing",
- :plan => {
- :interval => "month",
- :amount => 7500,
- :trial_period_days => 30,
- :object => "plan",
- :identifier => plan
- },
- :current_period_start => 1308595038,
- :start => 1308595038,
- :object => "subscription",
- :trial_start => 1308595038,
- :trial_end => 1308681468,
- :customer => "c_test_customer",
- :id => 's_test_subscription'
- }.merge(params)
-end
-
-def test_refund(params = {})
- {
- :object => 'refund',
- :amount => 30,
- :currency => "usd",
- :created => 1308595038,
- :id => "ref_test_refund",
- :charge => "ch_test_charge",
- :metadata => {}
- }.merge(params)
-end
-
-def test_subscription_array(customer_id)
- {
- :data => [test_subscription, test_subscription, test_subscription],
- :object => 'list',
- :url => '/v1/customers/' + customer_id + '/subscriptions'
- }
-end
-
-def test_refund_array(charge_id)
- {
- :data => [test_refund, test_refund, test_refund],
- :object => 'list',
- :url => '/v1/charges/' + charge_id + '/refunds'
- }
-end
-
-
-def test_invoice
- {
- :id => 'in_test_invoice',
- :object => 'invoice',
- :livemode => false,
- :amount_due => 1000,
- :attempt_count => 0,
- :attempted => false,
- :closed => false,
- :currency => 'usd',
- :customer => 'c_test_customer',
- :date => 1349738950,
- :lines => {
- "invoiceitems" => [
- {
- :id => 'ii_test_invoice_item',
- :object => '',
- :livemode => false,
- :amount => 1000,
- :currency => 'usd',
- :customer => 'c_test_customer',
- :date => 1349738950,
- :description => "A Test Invoice Item",
- :invoice => 'in_test_invoice'
- },
- ],
- },
- :paid => false,
- :period_end => 1349738950,
- :period_start => 1349738950,
- :starting_balance => 0,
- :subtotal => 1000,
- :total => 1000,
- :charge => nil,
- :discount => nil,
- :ending_balance => nil,
- :next_payemnt_attempt => 1349825350,
- }
-end
-
-def test_paid_invoice
- test_invoice.merge({
- :attempt_count => 1,
- :attempted => true,
- :closed => true,
- :paid => true,
- :charge => 'ch_test_charge',
- :ending_balance => 0,
- :next_payment_attempt => nil,
- })
-end
-
-def test_invoice_customer_array
- {
- :data => [test_invoice],
- :object => 'list',
- :url => '/v1/invoices?customer=test_customer'
- }
-end
-
-def test_recipient(params={})
- id = params[:id] || 'rp_test_recipient'
- {
- :name => "Stripe User",
- :type => "individual",
- :livemode => false,
- :object => "recipient",
- :id => "rp_test_recipient",
- :cards => test_card_array(id),
- :default_card => "debit_test_card",
- :active_account => {
- :last4 => "6789",
- :bank_name => "STRIPE TEST BANK",
- :country => "US",
- :object => "bank_account"
- },
- :created => 1304114758,
- :verified => true,
- :metadata => {}
- }.merge(params)
-end
-
-def test_recipient_array
- {
- :data => [test_recipient, test_recipient, test_recipient],
- :object => 'list',
- :url => '/v1/recipients'
- }
-end
-
-def test_transfer(params={})
- {
- :status => 'pending',
- :amount => 100,
- :account => {
- :object => 'bank_account',
- :country => 'US',
- :bank_name => 'STRIPE TEST BANK',
- :last4 => '6789'
- },
- :recipient => 'test_recipient',
- :fee => 0,
- :fee_details => [],
- :id => "tr_test_transfer",
- :livemode => false,
- :currency => "usd",
- :object => "transfer",
- :date => 1304114826,
- :metadata => {}
- }.merge(params)
-end
-
-def test_transfer_array
- {
- :data => [test_transfer, test_transfer, test_transfer],
- :object => 'list',
- :url => '/v1/transfers'
- }
-end
-
-def test_canceled_transfer
- test_transfer.merge({
- :status => 'canceled'
- })
-end
-
-def test_invalid_api_key_error
- {
- "error" => {
- "type" => "invalid_request_error",
- "message" => "Invalid API Key provided: invalid"
- }
- }
-end
-
-def test_invalid_exp_year_error
- {
- "error" => {
- "code" => "invalid_expiry_year",
- "param" => "exp_year",
- "type" => "card_error",
- "message" => "Your card's expiration year is invalid"
- }
- }
-end
-
-def test_missing_id_error
- {
- :error => {
- :param => "id",
- :type => "invalid_request_error",
- :message => "Missing id"
- }
- }
-end
-
-def test_api_error
- {
- :error => {
- :type => "api_error"
- }
- }
-end
-
-def test_delete_discount_response
- {
- :deleted => true,
- :id => "di_test_coupon"
- }
-end
-
class Test::Unit::TestCase
+ include Stripe::TestData
include Mocha
setup do
@mock = mock
Stripe.mock_rest_client = @mock
@@ -440,6 +37,5 @@
teardown do
Stripe.mock_rest_client = nil
Stripe.api_key=nil
end
end
-