diff --git a/test/stripe/customer_card_test.rb b/test/stripe/customer_card_test.rb new file mode 100644 index 00000000..62717f88 --- /dev/null +++ b/test/stripe/customer_card_test.rb @@ -0,0 +1,57 @@ +require File.expand_path('../../test_helper', __FILE__) + +module Stripe + class CustomerCardTest < Test::Unit::TestCase + CUSTOMER_CARD_URL = '/v1/customers/test_customer/cards/test_card' + + def customer + @mock.expects(:get).once.returns(test_response(test_customer)) + Stripe::Customer.retrieve('test_customer') + end + + should "customer cards should be listable" do + c = customer + @mock.expects(:get).once.returns(test_response(test_card_array(customer.id))) + cards = c.cards.all.data + assert cards.kind_of? Array + assert cards[0].kind_of? Stripe::Card + end + + should "customer cards should have the correct url" do + c = customer + @mock.expects(:get).once.returns(test_response(test_card( + :id => 'test_card', + :customer => 'test_customer' + ))) + card = c.cards.retrieve('card') + assert_equal CUSTOMER_CARD_URL, card.url + end + + should "customer cards should be deletable" do + c = customer + @mock.expects(:get).once.returns(test_response(test_card)) + @mock.expects(:delete).once.returns(test_response(test_card(:deleted => true))) + card = c.cards.retrieve('card') + card.delete + assert card.deleted + end + + should "customer cards should be updateable" do + c = customer + @mock.expects(:get).once.returns(test_response(test_card(:exp_year => "2000"))) + @mock.expects(:post).once.returns(test_response(test_card(:exp_year => "2100"))) + card = c.cards.retrieve('card') + assert_equal "2000", card.exp_year + card.exp_year = "2100" + card.save + assert_equal "2100", card.exp_year + end + + should "create should return a new customer card" do + c = customer + @mock.expects(:post).once.returns(test_response(test_card(:id => "test_card"))) + card = c.cards.create(:card => "tok_41YJ05ijAaWaFS") + assert_equal "test_card", card.id + end + end +end diff --git a/test/stripe/recipient_card_test.rb b/test/stripe/recipient_card_test.rb new file mode 100644 index 00000000..82979ebc --- /dev/null +++ b/test/stripe/recipient_card_test.rb @@ -0,0 +1,57 @@ +require File.expand_path('../../test_helper', __FILE__) + +module Stripe + class RecipientCardTest < Test::Unit::TestCase + RECIPIENT_CARD_URL = '/v1/recipients/test_recipient/cards/test_card' + + def recipient + @mock.expects(:get).once.returns(test_response(test_recipient)) + Stripe::Recipient.retrieve('test_recipient') + end + + should "recipient cards should be listable" do + c = recipient + @mock.expects(:get).once.returns(test_response(test_card_array(recipient.id))) + cards = c.cards.all.data + assert cards.kind_of? Array + assert cards[0].kind_of? Stripe::Card + end + + should "recipient cards should have the correct url" do + c = recipient + @mock.expects(:get).once.returns(test_response(test_card( + :id => 'test_card', + :recipient => 'test_recipient' + ))) + card = c.cards.retrieve('card') + assert_equal RECIPIENT_CARD_URL, card.url + end + + should "recipient cards should be deletable" do + c = recipient + @mock.expects(:get).once.returns(test_response(test_card)) + @mock.expects(:delete).once.returns(test_response(test_card(:deleted => true))) + card = c.cards.retrieve('card') + card.delete + assert card.deleted + end + + should "recipient cards should be updateable" do + c = recipient + @mock.expects(:get).once.returns(test_response(test_card(:exp_year => "2000"))) + @mock.expects(:post).once.returns(test_response(test_card(:exp_year => "2100"))) + card = c.cards.retrieve('card') + assert_equal "2000", card.exp_year + card.exp_year = "2100" + card.save + assert_equal "2100", card.exp_year + end + + should "create should return a new recipient card" do + c = recipient + @mock.expects(:post).once.returns(test_response(test_card(:id => "test_card"))) + card = c.cards.create(:card => "tok_41YJ05ijAaWaFS") + assert_equal "test_card", card.id + end + end +end diff --git a/test/test_helper.rb b/test/test_helper.rb index 10092999..44826bf3 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -273,12 +273,15 @@ def test_invoice_customer_array 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",