diff --git a/.travis.yml b/.travis.yml index b3c8e352e..b9d2c1479 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,7 @@ sudo: false env: global: # If changing this number, please also change it in `test/test_helper.rb`. - - STRIPE_MOCK_VERSION=0.79.0 + - STRIPE_MOCK_VERSION=0.88.0 cache: directories: diff --git a/lib/stripe/object_types.rb b/lib/stripe/object_types.rb index c0800581a..cd685d3d8 100644 --- a/lib/stripe/object_types.rb +++ b/lib/stripe/object_types.rb @@ -19,6 +19,7 @@ def self.object_names_to_classes Balance::OBJECT_NAME => Balance, BalanceTransaction::OBJECT_NAME => BalanceTransaction, BankAccount::OBJECT_NAME => BankAccount, + BillingPortal::Session::OBJECT_NAME => BillingPortal::Session, BitcoinReceiver::OBJECT_NAME => BitcoinReceiver, BitcoinTransaction::OBJECT_NAME => BitcoinTransaction, Capability::OBJECT_NAME => Capability, diff --git a/lib/stripe/resources.rb b/lib/stripe/resources.rb index dd76ea691..fc58b8d01 100644 --- a/lib/stripe/resources.rb +++ b/lib/stripe/resources.rb @@ -9,6 +9,7 @@ require "stripe/resources/balance" require "stripe/resources/balance_transaction" require "stripe/resources/bank_account" +require "stripe/resources/billing_portal/session" require "stripe/resources/bitcoin_receiver" require "stripe/resources/bitcoin_transaction" require "stripe/resources/capability" diff --git a/lib/stripe/resources/billing_portal/session.rb b/lib/stripe/resources/billing_portal/session.rb new file mode 100644 index 000000000..058706635 --- /dev/null +++ b/lib/stripe/resources/billing_portal/session.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Stripe + module BillingPortal + class Session < APIResource + extend Stripe::APIOperations::Create + + OBJECT_NAME = "billing_portal.session" + end + end +end diff --git a/test/stripe/billing_portal/session_test.rb b/test/stripe/billing_portal/session_test.rb new file mode 100644 index 000000000..440279a58 --- /dev/null +++ b/test/stripe/billing_portal/session_test.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +require ::File.expand_path("../../test_helper", __dir__) + +module Stripe + module BillingPortal + class SessionTest < Test::Unit::TestCase + should "be creatable" do + session = Stripe::BillingPortal::Session.create( + customer: "cus_123", + return_url: "https://stripe.com/return" + ) + assert_requested :post, "#{Stripe.api_base}/v1/billing_portal/sessions" + assert session.is_a?(Stripe::BillingPortal::Session) + end + end + end +end diff --git a/test/stripe/issuing/card_test.rb b/test/stripe/issuing/card_test.rb index f0d998d8a..a493b141c 100644 --- a/test/stripe/issuing/card_test.rb +++ b/test/stripe/issuing/card_test.rb @@ -43,6 +43,10 @@ class CardTest < Test::Unit::TestCase context "#details" do should "retrieve a card's details" do + # The /details endpoint is deprecated and not in the spec so we mock + stub_request(:get, "#{Stripe.api_base}/v1/issuing/cards/ic_123/details") + .to_return(body: JSON.generate(object: "issuing.card_details")) + card_details = Stripe::Issuing::Card.details("ic_123") assert_requested :get, "#{Stripe.api_base}/v1/issuing/cards/ic_123/details" assert card_details.is_a?(Stripe::Issuing::CardDetails) @@ -51,8 +55,16 @@ class CardTest < Test::Unit::TestCase context ".details" do should "retrieve a card's details" do - card = Stripe::Issuing::Card.retrieve("ic_123") + # The /details endpoint is deprecated and not in the spec so we mock + stub_request(:get, "#{Stripe.api_base}/v1/issuing/cards/ic_123/details") + .to_return(body: JSON.generate(object: "issuing.card_details")) + + card = Stripe::Issuing::Card.construct_from( + id: "ic_123", + object: "issuing.card_details" + ) card_details = card.details + assert_requested :get, "#{Stripe.api_base}/v1/issuing/cards/ic_123/details" assert card_details.is_a?(Stripe::Issuing::CardDetails) end diff --git a/test/stripe/issuing/dispute_test.rb b/test/stripe/issuing/dispute_test.rb index 2d0e27509..33d6b0733 100644 --- a/test/stripe/issuing/dispute_test.rb +++ b/test/stripe/issuing/dispute_test.rb @@ -6,10 +6,8 @@ module Stripe module Issuing class DisputeTest < Test::Unit::TestCase should "be creatable" do - dispute = Stripe::Issuing::Dispute.create( - reason: "fraudulent", - disputed_transaction: "ipi_123" - ) + dispute = Stripe::Issuing::Dispute.create + assert_requested :post, "#{Stripe.api_base}/v1/issuing/disputes" assert dispute.is_a?(Stripe::Issuing::Dispute) end @@ -27,16 +25,8 @@ class DisputeTest < Test::Unit::TestCase assert dispute.is_a?(Stripe::Issuing::Dispute) end - should "be saveable" do - dispute = Stripe::Issuing::Dispute.retrieve("ich_123") - dispute.metadata["key"] = "value" - dispute.save - assert_requested :post, "#{Stripe.api_base}/v1/issuing/disputes/#{dispute.id}" - assert dispute.is_a?(Stripe::Issuing::Dispute) - end - should "be updateable" do - dispute = Stripe::Issuing::Dispute.update("ich_123", metadata: { foo: "bar" }) + dispute = Stripe::Issuing::Dispute.update("ich_123", {}) assert_requested :post, "#{Stripe.api_base}/v1/issuing/disputes/ich_123" assert dispute.is_a?(Stripe::Issuing::Dispute) end diff --git a/test/test_helper.rb b/test/test_helper.rb index 965982397..80b079a0d 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -16,7 +16,7 @@ require ::File.expand_path("stripe_mock", __dir__) # If changing this number, please also change it in `.travis.yml`. -MOCK_MINIMUM_VERSION = "0.79.0" +MOCK_MINIMUM_VERSION = "0.88.0" MOCK_PORT = Stripe::StripeMock.start # Disable all real network connections except those that are outgoing to