mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-07-06 00:00:30 -04:00
Compare commits
7 Commits
41a5015f3c
...
e03fa884f4
Author | SHA1 | Date | |
---|---|---|---|
|
e03fa884f4 | ||
|
b87cfbec98 | ||
|
a96e6f3b42 | ||
|
24312f9f49 | ||
|
a0935c246d | ||
|
6dc009579d | ||
|
c2bb4dbceb |
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -43,7 +43,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
ruby-version: [2.3, 2.4, 2.5, 2.6, 2.7, '3.0', 3.1, jruby-9.2.16.0, truffleruby-head]
|
||||
ruby-version: [2.3, 2.4, 2.5, 2.6, 2.7, '3.0', 3.1, jruby-9.4.0.0, truffleruby-head]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Ruby
|
||||
|
@ -45,9 +45,7 @@ Style/AccessModifierDeclarations:
|
||||
EnforcedStyle: inline
|
||||
|
||||
Style/AsciiComments:
|
||||
AllowedChars:
|
||||
- ’
|
||||
- €
|
||||
Enabled: false
|
||||
|
||||
Style/FrozenStringLiteralComment:
|
||||
EnforcedStyle: always
|
||||
|
32
CHANGELOG.md
32
CHANGELOG.md
@ -1,5 +1,37 @@
|
||||
# Changelog
|
||||
|
||||
## 8.0.0 - 2022-11-16
|
||||
* [#1144](https://github.com/stripe/stripe-ruby/pull/1144) Next major release changes
|
||||
|
||||
Breaking changes that arose during code generation of the library that we postponed for the next major version. For changes to the Stripe products, read more at https://stripe.com/docs/upgrades#2022-11-15.
|
||||
|
||||
"⚠️" symbol highlights breaking changes.
|
||||
|
||||
### Deprecated
|
||||
- The `save` method is deprecated. Prefer the static `update` method that doesn't require retrieval of the resource to update it.
|
||||
``` ruby
|
||||
# before
|
||||
refund = Stripe::Refund.retrieve("re_123")
|
||||
refund.description = "Refund description"
|
||||
refund.save
|
||||
|
||||
# after
|
||||
Stripe::Refund.update("re_123", description: "Refund description")
|
||||
```
|
||||
|
||||
### ⚠️ Removed
|
||||
- Removed deprecated `Sku` resource.
|
||||
- Removed deprecated `Orders` resource.
|
||||
- Removed deprecated `delete` method on `Subscription` resource. Please use `cancel` method instead.
|
||||
```ruby
|
||||
# before
|
||||
Stripe::Subscription::delete("sub_12345")
|
||||
|
||||
# after
|
||||
Stripe::Subscription::cancel("sub_12345")
|
||||
```
|
||||
|
||||
|
||||
## 7.1.0 - 2022-08-19
|
||||
* [#1116](https://github.com/stripe/stripe-ruby/pull/1116) API Updates
|
||||
* Add support for new resource `CustomerCashBalanceTransaction`
|
||||
|
@ -1 +1 @@
|
||||
v184
|
||||
v217
|
@ -33,6 +33,9 @@ module Stripe
|
||||
end
|
||||
end
|
||||
|
||||
# The `save` method is DEPRECATED and will be removed in a future major
|
||||
# version of the library. Use the `update` method on the resource instead.
|
||||
#
|
||||
# Creates or updates an API resource.
|
||||
#
|
||||
# If the resource doesn't yet have an assigned ID and the resource is one
|
||||
@ -68,6 +71,8 @@ module Stripe
|
||||
resp, opts = execute_resource_request(:post, save_url, values, opts)
|
||||
initialize_from(resp.data, opts)
|
||||
end
|
||||
extend Gem::Deprecate
|
||||
deprecate :save, :update, 2022, 11
|
||||
|
||||
def self.included(base)
|
||||
# Set `metadata` as additive so that when it's set directly we remember
|
||||
|
@ -3,6 +3,6 @@
|
||||
|
||||
module Stripe
|
||||
module ApiVersion
|
||||
CURRENT = "2022-08-01"
|
||||
CURRENT = "2022-11-15"
|
||||
end
|
||||
end
|
||||
|
@ -62,7 +62,6 @@ module Stripe
|
||||
LineItem::OBJECT_NAME => LineItem,
|
||||
LoginLink::OBJECT_NAME => LoginLink,
|
||||
Mandate::OBJECT_NAME => Mandate,
|
||||
Order::OBJECT_NAME => Order,
|
||||
PaymentIntent::OBJECT_NAME => PaymentIntent,
|
||||
PaymentLink::OBJECT_NAME => PaymentLink,
|
||||
PaymentMethod::OBJECT_NAME => PaymentMethod,
|
||||
@ -85,7 +84,6 @@ module Stripe
|
||||
SetupIntent::OBJECT_NAME => SetupIntent,
|
||||
ShippingRate::OBJECT_NAME => ShippingRate,
|
||||
Sigma::ScheduledQueryRun::OBJECT_NAME => Sigma::ScheduledQueryRun,
|
||||
SKU::OBJECT_NAME => SKU,
|
||||
Source::OBJECT_NAME => Source,
|
||||
SourceTransaction::OBJECT_NAME => SourceTransaction,
|
||||
Subscription::OBJECT_NAME => Subscription,
|
||||
|
@ -49,7 +49,6 @@ require "stripe/resources/issuing/transaction"
|
||||
require "stripe/resources/line_item"
|
||||
require "stripe/resources/login_link"
|
||||
require "stripe/resources/mandate"
|
||||
require "stripe/resources/order"
|
||||
require "stripe/resources/payment_intent"
|
||||
require "stripe/resources/payment_link"
|
||||
require "stripe/resources/payment_method"
|
||||
@ -72,7 +71,6 @@ require "stripe/resources/setup_attempt"
|
||||
require "stripe/resources/setup_intent"
|
||||
require "stripe/resources/shipping_rate"
|
||||
require "stripe/resources/sigma/scheduled_query_run"
|
||||
require "stripe/resources/sku"
|
||||
require "stripe/resources/source"
|
||||
require "stripe/resources/source_transaction"
|
||||
require "stripe/resources/subscription"
|
||||
|
@ -64,7 +64,6 @@ module Stripe
|
||||
|
||||
nested_resource_class_methods :external_account,
|
||||
operations: %i[create retrieve update delete list]
|
||||
|
||||
nested_resource_class_methods :login_link, operations: %i[create]
|
||||
|
||||
def resource_url
|
||||
|
@ -1,89 +0,0 @@
|
||||
# File generated from our OpenAPI spec
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Stripe
|
||||
# An Order describes a purchase being made by a customer, including the
|
||||
# products & quantities being purchased, the order status, the payment information,
|
||||
# and the billing/shipping details.
|
||||
#
|
||||
# Related guide: [Orders overview](https://stripe.com/docs/orders)
|
||||
class Order < APIResource
|
||||
extend Stripe::APIOperations::Create
|
||||
extend Stripe::APIOperations::List
|
||||
include Stripe::APIOperations::Save
|
||||
|
||||
OBJECT_NAME = "order"
|
||||
|
||||
def cancel(params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :post,
|
||||
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(self["id"]) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def list_line_items(params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :get,
|
||||
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(self["id"]) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def reopen(params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :post,
|
||||
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(self["id"]) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def submit(params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :post,
|
||||
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(self["id"]) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def self.cancel(id, params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :post,
|
||||
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(id) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def self.list_line_items(id, params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :get,
|
||||
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(id) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def self.reopen(id, params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :post,
|
||||
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(id) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def self.submit(id, params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :post,
|
||||
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(id) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
@ -1,19 +0,0 @@
|
||||
# File generated from our OpenAPI spec
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Stripe
|
||||
# Stores representations of [stock keeping units](http://en.wikipedia.org/wiki/Stock_keeping_unit).
|
||||
# SKUs describe specific product variations, taking into account any combination of: attributes,
|
||||
# currency, and cost. For example, a product may be a T-shirt, whereas a specific SKU represents
|
||||
# the `size: large`, `color: red` version of that shirt.
|
||||
#
|
||||
# Can also be used to manage inventory.
|
||||
class SKU < APIResource
|
||||
extend Stripe::APIOperations::Create
|
||||
include Stripe::APIOperations::Delete
|
||||
extend Stripe::APIOperations::List
|
||||
include Stripe::APIOperations::Save
|
||||
|
||||
OBJECT_NAME = "sku"
|
||||
end
|
||||
end
|
@ -7,6 +7,10 @@ module Stripe
|
||||
# just like a `Card` object: once chargeable, they can be charged, or can be
|
||||
# attached to customers.
|
||||
#
|
||||
# Stripe doesn't recommend using the deprecated [Sources API](https://stripe.com/docs/api/sources).
|
||||
# We recommend that you adopt the [PaymentMethods API](https://stripe.com/docs/api/payment_methods).
|
||||
# This newer API provides access to our latest features and payment method types.
|
||||
#
|
||||
# Related guides: [Sources API](https://stripe.com/docs/sources) and [Sources & Customers](https://stripe.com/docs/sources/customers).
|
||||
class Source < APIResource
|
||||
extend Stripe::APIOperations::Create
|
||||
|
@ -50,31 +50,6 @@ module Stripe
|
||||
end
|
||||
|
||||
save_nested_resource :source
|
||||
def delete(params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :delete,
|
||||
path: format("/v1/subscriptions/%<subscription_exposed_id>s", { subscription_exposed_id: CGI.escape(self["id"]) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
def self.delete(subscription_exposed_id, params = {}, opts = {})
|
||||
request_stripe_object(
|
||||
method: :delete,
|
||||
path: format("/v1/subscriptions/%<subscription_exposed_id>s", { subscription_exposed_id: CGI.escape(subscription_exposed_id) }),
|
||||
params: params,
|
||||
opts: opts
|
||||
)
|
||||
end
|
||||
|
||||
extend Gem::Deprecate
|
||||
deprecate :delete, "Stripe::Subscription.cancel", 2022, 7
|
||||
|
||||
class << self
|
||||
extend Gem::Deprecate
|
||||
deprecate :delete, "Stripe::Subscription#cancel", 2022, 7
|
||||
end
|
||||
|
||||
def self.search(params = {}, opts = {})
|
||||
_search("/v1/subscriptions/search", params, opts)
|
||||
|
@ -1,5 +1,5 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Stripe
|
||||
VERSION = "7.1.0"
|
||||
VERSION = "8.0.0"
|
||||
end
|
||||
|
@ -314,7 +314,7 @@ module Stripe
|
||||
assert_equal c.created, 12_345
|
||||
end
|
||||
|
||||
should "updating an object should issue a POST request with only the changed properties" do
|
||||
should "saving an object should issue a POST request with only the changed properties" do
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/customers/cus_123")
|
||||
.with(body: { "description" => "another_mn" })
|
||||
.to_return(body: JSON.generate(customer_fixture))
|
||||
@ -323,7 +323,15 @@ module Stripe
|
||||
c.save
|
||||
end
|
||||
|
||||
should "updating should merge in returned properties" do
|
||||
should "updating an object should issue a POST request with the specified properties" do
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/customers/cus_123")
|
||||
.with(body: { "description" => "another_mn" })
|
||||
.to_return(body: JSON.generate(customer_fixture))
|
||||
Stripe::Customer.construct_from(customer_fixture)
|
||||
Stripe::Customer.update("cus_123", { description: "another_mn" })
|
||||
end
|
||||
|
||||
should "saving should merge in returned properties" do
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/customers/cus_123")
|
||||
.with(body: { "description" => "another_mn" })
|
||||
.to_return(body: JSON.generate(customer_fixture))
|
||||
@ -333,14 +341,21 @@ module Stripe
|
||||
assert_equal false, c.livemode
|
||||
end
|
||||
|
||||
should "updating should fail if api_key is overwritten with nil" do
|
||||
should "saving should fail if api_key is overwritten with nil" do
|
||||
c = Stripe::Customer.new
|
||||
assert_raises TypeError do
|
||||
c.save({}, api_key: nil)
|
||||
end
|
||||
end
|
||||
|
||||
should "updating should use the supplied api_key" do
|
||||
should "updating should fail if api_key is nil" do
|
||||
Stripe::Customer.new("cus_123")
|
||||
assert_raises TypeError do
|
||||
Stripe::Customer.update("cus_123", {}, { api_key: nil })
|
||||
end
|
||||
end
|
||||
|
||||
should "saving should use the supplied api_key" do
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/customers")
|
||||
.with(headers: { "Authorization" => "Bearer sk_test_local" })
|
||||
.to_return(body: JSON.generate(customer_fixture))
|
||||
@ -349,6 +364,14 @@ module Stripe
|
||||
assert_equal false, c.livemode
|
||||
end
|
||||
|
||||
should "updating should use the supplied api_key" do
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/customers")
|
||||
.with(headers: { "Authorization" => "Bearer sk_test_local" })
|
||||
.to_return(body: JSON.generate(customer_fixture))
|
||||
Stripe::Customer.new("cus_123")
|
||||
Stripe::Customer.update("cus_123", {}, api_key: "sk_test_local")
|
||||
end
|
||||
|
||||
should "deleting should send no props and result in an object that has no props other deleted" do
|
||||
stub_request(:delete, "#{Stripe.api_base}/v1/customers/cus_123")
|
||||
.to_return(body: JSON.generate("id" => "cus_123", "deleted" => true))
|
||||
@ -385,7 +408,7 @@ module Stripe
|
||||
c.save
|
||||
end
|
||||
|
||||
should "add key to nested objects" do
|
||||
should "add key to nested objects on save" do
|
||||
acct = Stripe::Account.construct_from(id: "myid",
|
||||
legal_entity: {
|
||||
size: "l",
|
||||
@ -401,6 +424,14 @@ module Stripe
|
||||
acct.save
|
||||
end
|
||||
|
||||
should "update with a nested object" do
|
||||
stub_request(:post, "#{Stripe.api_base}/v1/accounts/myid")
|
||||
.with(body: { business_profile: { name: "Bob" } })
|
||||
.to_return(body: JSON.generate("id" => "myid"))
|
||||
|
||||
Stripe::Account.update("myid", { business_profile: { name: "Bob" } })
|
||||
end
|
||||
|
||||
should "save nothing if nothing changes" do
|
||||
acct = Stripe::Account.construct_from(id: "acct_id",
|
||||
metadata: {
|
||||
@ -429,7 +460,7 @@ module Stripe
|
||||
ch.save
|
||||
end
|
||||
|
||||
should "correctly handle replaced nested objects" do
|
||||
should "correctly handle replaced nested objects on save" do
|
||||
acct = Stripe::Account.construct_from(
|
||||
id: "acct_123",
|
||||
company: {
|
||||
@ -449,7 +480,7 @@ module Stripe
|
||||
acct.save
|
||||
end
|
||||
|
||||
should "correctly handle array setting" do
|
||||
should "correctly handle array setting on save" do
|
||||
acct = Stripe::Account.construct_from(id: "myid",
|
||||
legal_entity: {})
|
||||
|
||||
@ -461,7 +492,7 @@ module Stripe
|
||||
acct.save
|
||||
end
|
||||
|
||||
should "correctly handle array insertion" do
|
||||
should "correctly handle array insertion on save" do
|
||||
acct = Stripe::Account.construct_from(id: "myid",
|
||||
legal_entity: {
|
||||
additional_owners: [],
|
||||
@ -478,7 +509,7 @@ module Stripe
|
||||
acct.save
|
||||
end
|
||||
|
||||
should "correctly handle array updates" do
|
||||
should "correctly handle array updates on save" do
|
||||
acct = Stripe::Account.construct_from(id: "myid",
|
||||
legal_entity: {
|
||||
additional_owners: [{ first_name: "Bob" }, { first_name: "Jane" }],
|
||||
@ -495,7 +526,7 @@ module Stripe
|
||||
acct.save
|
||||
end
|
||||
|
||||
should "correctly handle array noops" do
|
||||
should "correctly handle array noops on save" do
|
||||
acct = Stripe::Account.construct_from(id: "myid",
|
||||
legal_entity: {
|
||||
additional_owners: [{ first_name: "Bob" }],
|
||||
@ -509,7 +540,7 @@ module Stripe
|
||||
acct.save
|
||||
end
|
||||
|
||||
should "correctly handle hash noops" do
|
||||
should "correctly handle hash noops on save" do
|
||||
acct = Stripe::Account.construct_from(id: "myid",
|
||||
legal_entity: {
|
||||
address: { line1: "1 Two Three" },
|
||||
|
@ -32,6 +32,12 @@ module Stripe
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/accounts?limit=3"
|
||||
end
|
||||
end
|
||||
context "Account.persons" do
|
||||
should "support requests with args: limit, parent_id" do
|
||||
Stripe::Account.persons("acct_xxxxxxxxxxxxx", { limit: 3 })
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/accounts/acct_xxxxxxxxxxxxx/persons?limit=3"
|
||||
end
|
||||
end
|
||||
context "Account.reject" do
|
||||
should "support requests with args: reason, id" do
|
||||
Stripe::Account.reject("acct_xxxxxxxxxxxxx", { reason: "fraud" })
|
||||
@ -78,6 +84,31 @@ module Stripe
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx?"
|
||||
end
|
||||
end
|
||||
context "ApplicationFeeRefund.list" do
|
||||
should "support requests with args: limit, parent_id" do
|
||||
Stripe::ApplicationFee.list_refunds("fee_xxxxxxxxxxxxx", { limit: 3 })
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx/refunds?limit=3"
|
||||
end
|
||||
end
|
||||
context "ApplicationFeeRefund.retrieve" do
|
||||
should "support requests with args: parent_id, id" do
|
||||
Stripe::ApplicationFee.retrieve_refund(
|
||||
"fee_xxxxxxxxxxxxx",
|
||||
"fr_xxxxxxxxxxxxx"
|
||||
)
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx?"
|
||||
end
|
||||
end
|
||||
context "ApplicationFeeRefund.update" do
|
||||
should "support requests with args: metadata, parent_id, id" do
|
||||
Stripe::ApplicationFee.update_refund(
|
||||
"fee_xxxxxxxxxxxxx",
|
||||
"fr_xxxxxxxxxxxxx",
|
||||
{ metadata: { order_id: "6735" } }
|
||||
)
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx"
|
||||
end
|
||||
end
|
||||
context "Apps.Secret.create" do
|
||||
should "support requests with args: name, payload, scope" do
|
||||
Stripe::Apps::Secret.create(
|
||||
@ -571,31 +602,6 @@ module Stripe
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/events/evt_xxxxxxxxxxxxx?"
|
||||
end
|
||||
end
|
||||
context "FeeRefund.list" do
|
||||
should "support requests with args: limit, parent_id" do
|
||||
Stripe::ApplicationFee.list_refunds("fee_xxxxxxxxxxxxx", { limit: 3 })
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx/refunds?limit=3"
|
||||
end
|
||||
end
|
||||
context "FeeRefund.retrieve" do
|
||||
should "support requests with args: parent_id, id" do
|
||||
Stripe::ApplicationFee.retrieve_refund(
|
||||
"fee_xxxxxxxxxxxxx",
|
||||
"fr_xxxxxxxxxxxxx"
|
||||
)
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx?"
|
||||
end
|
||||
end
|
||||
context "FeeRefund.update" do
|
||||
should "support requests with args: metadata, parent_id, id" do
|
||||
Stripe::ApplicationFee.update_refund(
|
||||
"fee_xxxxxxxxxxxxx",
|
||||
"fr_xxxxxxxxxxxxx",
|
||||
{ metadata: { order_id: "6735" } }
|
||||
)
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx"
|
||||
end
|
||||
end
|
||||
context "File.list" do
|
||||
should "support requests with args: limit" do
|
||||
Stripe::File.list({ limit: 3 })
|
||||
@ -1294,12 +1300,6 @@ module Stripe
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/payouts/po_xxxxxxxxxxxxx"
|
||||
end
|
||||
end
|
||||
context "Person.list" do
|
||||
should "support requests with args: limit, parent_id" do
|
||||
Stripe::Account.list_persons("acct_xxxxxxxxxxxxx", { limit: 3 })
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/accounts/acct_xxxxxxxxxxxxx/persons?limit=3"
|
||||
end
|
||||
end
|
||||
context "Person.retrieve" do
|
||||
should "support requests with args: parent_id, id" do
|
||||
Stripe::Account.retrieve_person(
|
||||
@ -1684,6 +1684,31 @@ module Stripe
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/reporting/report_types/balance.summary.1?"
|
||||
end
|
||||
end
|
||||
context "Reversal.list" do
|
||||
should "support requests with args: limit, parent_id" do
|
||||
Stripe::Transfer.list_reversals("tr_xxxxxxxxxxxxx", { limit: 3 })
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx/reversals?limit=3"
|
||||
end
|
||||
end
|
||||
context "Reversal.retrieve" do
|
||||
should "support requests with args: parent_id, id" do
|
||||
Stripe::Transfer.retrieve_reversal(
|
||||
"tr_xxxxxxxxxxxxx",
|
||||
"trr_xxxxxxxxxxxxx"
|
||||
)
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx?"
|
||||
end
|
||||
end
|
||||
context "Reversal.update" do
|
||||
should "support requests with args: metadata, parent_id, id" do
|
||||
Stripe::Transfer.update_reversal(
|
||||
"tr_xxxxxxxxxxxxx",
|
||||
"trr_xxxxxxxxxxxxx",
|
||||
{ metadata: { order_id: "6735" } }
|
||||
)
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx"
|
||||
end
|
||||
end
|
||||
context "Review.approve" do
|
||||
should "support requests with args: id" do
|
||||
Stripe::Review.approve("prv_xxxxxxxxxxxxx")
|
||||
@ -1815,44 +1840,6 @@ module Stripe
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/sigma/scheduled_query_runs/sqr_xxxxxxxxxxxxx?"
|
||||
end
|
||||
end
|
||||
context "SKU.create" do
|
||||
should "support requests with args: attributes, price, currency, inventory, product" do
|
||||
Stripe::SKU.create(
|
||||
{
|
||||
attributes: { size: "Medium", gender: "Unisex" },
|
||||
price: 1500,
|
||||
currency: "usd",
|
||||
inventory: { type: "finite", quantity: 500 },
|
||||
product: "prod_xxxxxxxxxxxxx",
|
||||
}
|
||||
)
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/skus"
|
||||
end
|
||||
end
|
||||
context "SKU.delete" do
|
||||
should "support requests with args: id" do
|
||||
Stripe::SKU.delete("sku_xxxxxxxxxxxxx")
|
||||
assert_requested :delete, "#{Stripe.api_base}/v1/skus/sku_xxxxxxxxxxxxx?"
|
||||
end
|
||||
end
|
||||
context "SKU.list" do
|
||||
should "support requests with args: limit" do
|
||||
Stripe::SKU.list({ limit: 3 })
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/skus?limit=3"
|
||||
end
|
||||
end
|
||||
context "SKU.retrieve" do
|
||||
should "support requests with args: id" do
|
||||
Stripe::SKU.retrieve("sku_xxxxxxxxxxxxx")
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/skus/sku_xxxxxxxxxxxxx?"
|
||||
end
|
||||
end
|
||||
context "SKU.update" do
|
||||
should "support requests with args: metadata, id" do
|
||||
Stripe::SKU.update("sku_xxxxxxxxxxxxx", { metadata: { order_id: "6735" } })
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/skus/sku_xxxxxxxxxxxxx"
|
||||
end
|
||||
end
|
||||
context "Source.retrieve" do
|
||||
should "support requests with args: id" do
|
||||
Stripe::Source.retrieve("src_xxxxxxxxxxxxx")
|
||||
@ -2421,31 +2408,6 @@ module Stripe
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx"
|
||||
end
|
||||
end
|
||||
context "TransferReversal.list" do
|
||||
should "support requests with args: limit, parent_id" do
|
||||
Stripe::Transfer.list_reversals("tr_xxxxxxxxxxxxx", { limit: 3 })
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx/reversals?limit=3"
|
||||
end
|
||||
end
|
||||
context "TransferReversal.retrieve" do
|
||||
should "support requests with args: parent_id, id" do
|
||||
Stripe::Transfer.retrieve_reversal(
|
||||
"tr_xxxxxxxxxxxxx",
|
||||
"trr_xxxxxxxxxxxxx"
|
||||
)
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx?"
|
||||
end
|
||||
end
|
||||
context "TransferReversal.update" do
|
||||
should "support requests with args: metadata, parent_id, id" do
|
||||
Stripe::Transfer.update_reversal(
|
||||
"tr_xxxxxxxxxxxxx",
|
||||
"trr_xxxxxxxxxxxxx",
|
||||
{ metadata: { order_id: "6735" } }
|
||||
)
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx"
|
||||
end
|
||||
end
|
||||
context "Treasury.CreditReversal.create" do
|
||||
should "support requests with args: received_credit" do
|
||||
Stripe::Treasury::CreditReversal.create(
|
||||
|
@ -1,60 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require ::File.expand_path("../test_helper", __dir__)
|
||||
|
||||
module Stripe
|
||||
class SKUTest < Test::Unit::TestCase
|
||||
should "be listable" do
|
||||
skus = Stripe::SKU.list
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/skus"
|
||||
assert skus.data.is_a?(Array)
|
||||
assert skus.data[0].is_a?(Stripe::SKU)
|
||||
end
|
||||
|
||||
should "be retrievable" do
|
||||
sku = Stripe::SKU.retrieve("sku_123")
|
||||
assert_requested :get, "#{Stripe.api_base}/v1/skus/sku_123"
|
||||
assert sku.is_a?(Stripe::SKU)
|
||||
end
|
||||
|
||||
should "be creatable" do
|
||||
_ = Stripe::SKU.create(
|
||||
currency: "USD",
|
||||
inventory: { type: "finite", quantity: 500 },
|
||||
price: 100,
|
||||
product: "prod_123"
|
||||
)
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/skus"
|
||||
end
|
||||
|
||||
should "be saveable" do
|
||||
sku = Stripe::SKU.retrieve("sku_123")
|
||||
sku.metadata["key"] = "value"
|
||||
sku.save
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/skus/#{sku.id}"
|
||||
end
|
||||
|
||||
should "be updateable" do
|
||||
sku = Stripe::SKU.update("sku_123", metadata: { foo: "bar" })
|
||||
assert_requested :post, "#{Stripe.api_base}/v1/skus/sku_123"
|
||||
assert sku.is_a?(Stripe::SKU)
|
||||
end
|
||||
|
||||
context "#delete" do
|
||||
should "be deletable" do
|
||||
sku = Stripe::SKU.retrieve("sku_123")
|
||||
sku = sku.delete
|
||||
assert_requested :delete, "#{Stripe.api_base}/v1/skus/#{sku.id}"
|
||||
assert sku.is_a?(Stripe::SKU)
|
||||
end
|
||||
end
|
||||
|
||||
context ".delete" do
|
||||
should "be deletable" do
|
||||
sku = Stripe::SKU.delete("sku_123")
|
||||
assert_requested :delete, "#{Stripe.api_base}/v1/skus/sku_123"
|
||||
assert sku.is_a?(Stripe::SKU)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user