stripe-ruby/test/stripe/setup_intent_test.rb
Richard Marmorstein 2d6249fbd2 Autocorrect
2023-11-27 17:02:33 -08:00

85 lines
2.8 KiB
Ruby

# frozen_string_literal: true
require File.expand_path("../test_helper", __dir__)
module Stripe
class SetupIntentTest < Test::Unit::TestCase
TEST_RESOURCE_ID = "seti_123"
should "be listable" do
setup_intents = Stripe::SetupIntent.list
assert_requested :get, "#{Stripe.api_base}/v1/setup_intents"
assert setup_intents.data.is_a?(Array)
assert setup_intents.data[0].is_a?(Stripe::SetupIntent)
end
should "be retrievable" do
setup_intent = Stripe::SetupIntent.retrieve("seti_123")
assert_requested :get, "#{Stripe.api_base}/v1/setup_intents/seti_123"
assert setup_intent.is_a?(Stripe::SetupIntent)
end
should "be creatable" do
setup_intent = Stripe::SetupIntent.create(
payment_method_types: ["card"]
)
assert_requested :post, "#{Stripe.api_base}/v1/setup_intents"
assert setup_intent.is_a?(Stripe::SetupIntent)
end
should "be saveable" do
setup_intent = Stripe::SetupIntent.construct_from(id: "seti_123", object: "setup_intent", metadata: {})
setup_intent.metadata["key"] = "value"
setup_intent.save
assert_requested :post, "#{Stripe.api_base}/v1/setup_intents/#{setup_intent.id}"
end
should "be updateable" do
setup_intent = Stripe::SetupIntent.update("seti_123", metadata: { foo: "bar" })
assert_requested :post, "#{Stripe.api_base}/v1/setup_intents/seti_123"
assert setup_intent.is_a?(Stripe::SetupIntent)
end
context "#cancel" do
should "cancel a setup_intent" do
setup_intent = Stripe::SetupIntent.construct_from(id: "seti_123", object: "setup_intent")
setup_intent = setup_intent.cancel
assert_requested :post, "#{Stripe.api_base}/v1/setup_intents/seti_123/cancel"
assert setup_intent.is_a?(Stripe::SetupIntent)
end
end
context ".cancel" do
should "cancel a setup_intent" do
setup_intent = Stripe::SetupIntent.cancel("seti_123")
assert_requested :post, "#{Stripe.api_base}/v1/setup_intents/seti_123/cancel"
assert setup_intent.is_a?(Stripe::SetupIntent)
end
end
context "#confirm" do
should "confirm a setup_intent" do
setup_intent = Stripe::SetupIntent.construct_from(id: "seti_123", object: "setup_intent")
setup_intent = setup_intent.confirm(
payment_method: "pm_123"
)
assert_requested :post, "#{Stripe.api_base}/v1/setup_intents/seti_123/confirm"
assert setup_intent.is_a?(Stripe::SetupIntent)
end
end
context ".confirm" do
should "confirm a setup_intent" do
setup_intent = Stripe::SetupIntent.confirm("seti_123", payment_method: "pm_123")
assert_requested :post, "#{Stripe.api_base}/v1/setup_intents/seti_123/confirm"
assert setup_intent.is_a?(Stripe::SetupIntent)
end
end
end
end