stripe-ruby/test/stripe/transfer_test.rb

89 lines
2.7 KiB
Ruby

# frozen_string_literal: true
require ::File.expand_path("../../test_helper", __FILE__)
module Stripe
class TransferTest < Test::Unit::TestCase
should "be listable" do
transfers = Stripe::Transfer.list
assert_requested :get, "#{Stripe.api_base}/v1/transfers"
assert transfers.data.is_a?(Array)
assert transfers.data[0].is_a?(Stripe::Transfer)
end
should "be retrievable" do
transfer = Stripe::Transfer.retrieve("tr_123")
assert_requested :get, "#{Stripe.api_base}/v1/transfers/tr_123"
assert transfer.is_a?(Stripe::Transfer)
end
should "be creatable" do
transfer = Stripe::Transfer.create(
amount: 100,
currency: "USD",
destination: "acct_123"
)
assert_requested :post, "#{Stripe.api_base}/v1/transfers"
assert transfer.is_a?(Stripe::Transfer)
end
should "be saveable" do
transfer = Stripe::Transfer.retrieve("tr_123")
transfer.metadata["key"] = "value"
transfer.save
assert_requested :post, "#{Stripe.api_base}/v1/transfers/#{transfer.id}"
end
should "be updateable" do
transfer = Stripe::Transfer.update("tr_123", metadata: { foo: "bar" })
assert_requested :post, "#{Stripe.api_base}/v1/transfers/tr_123"
assert transfer.is_a?(Stripe::Transfer)
end
context "#create_reversal" do
should "create a reversal" do
reversal = Stripe::Transfer.create_reversal(
"tr_123",
amount: 100
)
assert_requested :post, "#{Stripe.api_base}/v1/transfers/tr_123/reversals"
assert reversal.is_a?(Stripe::Reversal)
end
end
context "#retrieve_reversal" do
should "retrieve a reversal" do
reversal = Stripe::Transfer.retrieve_reversal(
"tr_123",
"trr_123"
)
assert_requested :get, "#{Stripe.api_base}/v1/transfers/tr_123/reversals/trr_123"
assert reversal.is_a?(Stripe::Reversal)
end
end
context "#update_reversal" do
should "update a reversal" do
reversal = Stripe::Transfer.update_reversal(
"tr_123",
"trr_123",
metadata: { foo: "bar" }
)
assert_requested :post, "#{Stripe.api_base}/v1/transfers/tr_123/reversals/trr_123"
assert reversal.is_a?(Stripe::Reversal)
end
end
context "#list_reversals" do
should "list the transfer's reversals" do
reversals = Stripe::Transfer.list_reversals(
"tr_123"
)
assert_requested :get, "#{Stripe.api_base}/v1/transfers/tr_123/reversals"
assert reversals.is_a?(Stripe::ListObject)
assert reversals.data.is_a?(Array)
end
end
end
end