Merge pull request #627 from stripe/jkakar/topup-client

Add support for /v1/topups endpoints
This commit is contained in:
Brandur 2018-02-21 11:35:16 -08:00 committed by GitHub
commit 529b9ec417
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 55 additions and 1 deletions

View File

@ -38,7 +38,7 @@ Metrics/MethodLength:
# Offense count: 1
# Configuration parameters: CountComments.
Metrics/ModuleLength:
Max: 304
Max: 305
# Offense count: 5
# Configuration parameters: CountKeywordArgs.

View File

@ -74,6 +74,7 @@ require "stripe/subscription"
require "stripe/subscription_item"
require "stripe/three_d_secure"
require "stripe/token"
require "stripe/topup"
require "stripe/transfer"
# OAuth

9
lib/stripe/topup.rb Normal file
View File

@ -0,0 +1,9 @@
module Stripe
class Topup < APIResource
extend Stripe::APIOperations::List
extend Stripe::APIOperations::Create
include Stripe::APIOperations::Save
OBJECT_NAME = "topup".freeze
end
end

View File

@ -83,6 +83,7 @@ module Stripe
SubscriptionItem::OBJECT_NAME => SubscriptionItem,
ThreeDSecure::OBJECT_NAME => ThreeDSecure,
Token::OBJECT_NAME => Token,
Topup::OBJECT_NAME => Topup,
Transfer::OBJECT_NAME => Transfer,
}
end

43
test/stripe/topup_test.rb Normal file
View File

@ -0,0 +1,43 @@
require File.expand_path("../../test_helper", __FILE__)
module Stripe
class TopupTest < Test::Unit::TestCase
should "be listable" do
topups = Stripe::Topup.list
assert_requested :get, "#{Stripe.api_base}/v1/topups"
assert topups.data.is_a?(Array)
assert topups.data[0].is_a?(Stripe::Topup)
end
should "be retrievable" do
topup = Stripe::Topup.retrieve("tu_123")
assert_requested :get, "#{Stripe.api_base}/v1/topups/tu_123"
assert topup.is_a?(Stripe::Topup)
end
should "be creatable" do
topup = Stripe::Topup.create(
amount: 100,
currency: "USD",
source: "src_123",
description: "description",
statement_descriptor: "statement descriptor"
)
assert_requested :post, "#{Stripe.api_base}/v1/topups"
assert topup.is_a?(Stripe::Topup)
end
should "be saveable" do
topup = Stripe::Topup.retrieve("tu_123")
topup.metadata["key"] = "value"
topup.save
assert_requested :post, "#{Stripe.api_base}/v1/topups/#{topup.id}"
end
should "be updateable" do
topup = Stripe::Topup.update("tu_123", metadata: { foo: "bar" })
assert_requested :post, "#{Stripe.api_base}/v1/topups/tu_123"
assert topup.is_a?(Stripe::Topup)
end
end
end