Compare commits

...

7 Commits

Author SHA1 Message Date
Annie Li
e03fa884f4 Codegen for openapi v217 2023-01-05 10:17:24 -08:00
pakrym-stripe
b87cfbec98
Update jruby version (#1154) 2022-12-08 12:04:58 -08:00
anniel-stripe
a96e6f3b42
Add tests for update (#1150)
* Add tests for update

* Apply suggestions from code review

Co-authored-by: Richard Marmorstein <52928443+richardm-stripe@users.noreply.github.com>

* Lint

Co-authored-by: Richard Marmorstein <52928443+richardm-stripe@users.noreply.github.com>
2022-11-23 11:20:04 -08:00
Richard Marmorstein
24312f9f49 Bump version to 8.0.0 2022-11-16 12:04:21 -08:00
pakrym-stripe
a0935c246d
Next major release changes (#1144) 2022-11-16 11:35:51 -08:00
anniel-stripe
6dc009579d
Disable AsciiComments rule (#1142) 2022-11-02 16:31:55 -07:00
Kamil Pajdzik
c2bb4dbceb
Codegen for openapi v204 (#1138) 2022-11-02 13:21:34 -07:00
18 changed files with 145 additions and 311 deletions

View File

@ -43,7 +43,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: 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: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Set up Ruby - name: Set up Ruby

View File

@ -45,9 +45,7 @@ Style/AccessModifierDeclarations:
EnforcedStyle: inline EnforcedStyle: inline
Style/AsciiComments: Style/AsciiComments:
AllowedChars: Enabled: false
-
-
Style/FrozenStringLiteralComment: Style/FrozenStringLiteralComment:
EnforcedStyle: always EnforcedStyle: always

View File

@ -1,5 +1,37 @@
# Changelog # 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 ## 7.1.0 - 2022-08-19
* [#1116](https://github.com/stripe/stripe-ruby/pull/1116) API Updates * [#1116](https://github.com/stripe/stripe-ruby/pull/1116) API Updates
* Add support for new resource `CustomerCashBalanceTransaction` * Add support for new resource `CustomerCashBalanceTransaction`

View File

@ -1 +1 @@
v184 v217

View File

@ -1 +1 @@
7.1.0 8.0.0

View File

@ -33,6 +33,9 @@ module Stripe
end end
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. # Creates or updates an API resource.
# #
# If the resource doesn't yet have an assigned ID and the resource is one # 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) resp, opts = execute_resource_request(:post, save_url, values, opts)
initialize_from(resp.data, opts) initialize_from(resp.data, opts)
end end
extend Gem::Deprecate
deprecate :save, :update, 2022, 11
def self.included(base) def self.included(base)
# Set `metadata` as additive so that when it's set directly we remember # Set `metadata` as additive so that when it's set directly we remember

View File

@ -3,6 +3,6 @@
module Stripe module Stripe
module ApiVersion module ApiVersion
CURRENT = "2022-08-01" CURRENT = "2022-11-15"
end end
end end

View File

@ -62,7 +62,6 @@ module Stripe
LineItem::OBJECT_NAME => LineItem, LineItem::OBJECT_NAME => LineItem,
LoginLink::OBJECT_NAME => LoginLink, LoginLink::OBJECT_NAME => LoginLink,
Mandate::OBJECT_NAME => Mandate, Mandate::OBJECT_NAME => Mandate,
Order::OBJECT_NAME => Order,
PaymentIntent::OBJECT_NAME => PaymentIntent, PaymentIntent::OBJECT_NAME => PaymentIntent,
PaymentLink::OBJECT_NAME => PaymentLink, PaymentLink::OBJECT_NAME => PaymentLink,
PaymentMethod::OBJECT_NAME => PaymentMethod, PaymentMethod::OBJECT_NAME => PaymentMethod,
@ -85,7 +84,6 @@ module Stripe
SetupIntent::OBJECT_NAME => SetupIntent, SetupIntent::OBJECT_NAME => SetupIntent,
ShippingRate::OBJECT_NAME => ShippingRate, ShippingRate::OBJECT_NAME => ShippingRate,
Sigma::ScheduledQueryRun::OBJECT_NAME => Sigma::ScheduledQueryRun, Sigma::ScheduledQueryRun::OBJECT_NAME => Sigma::ScheduledQueryRun,
SKU::OBJECT_NAME => SKU,
Source::OBJECT_NAME => Source, Source::OBJECT_NAME => Source,
SourceTransaction::OBJECT_NAME => SourceTransaction, SourceTransaction::OBJECT_NAME => SourceTransaction,
Subscription::OBJECT_NAME => Subscription, Subscription::OBJECT_NAME => Subscription,

View File

@ -49,7 +49,6 @@ require "stripe/resources/issuing/transaction"
require "stripe/resources/line_item" require "stripe/resources/line_item"
require "stripe/resources/login_link" require "stripe/resources/login_link"
require "stripe/resources/mandate" require "stripe/resources/mandate"
require "stripe/resources/order"
require "stripe/resources/payment_intent" require "stripe/resources/payment_intent"
require "stripe/resources/payment_link" require "stripe/resources/payment_link"
require "stripe/resources/payment_method" require "stripe/resources/payment_method"
@ -72,7 +71,6 @@ require "stripe/resources/setup_attempt"
require "stripe/resources/setup_intent" require "stripe/resources/setup_intent"
require "stripe/resources/shipping_rate" require "stripe/resources/shipping_rate"
require "stripe/resources/sigma/scheduled_query_run" require "stripe/resources/sigma/scheduled_query_run"
require "stripe/resources/sku"
require "stripe/resources/source" require "stripe/resources/source"
require "stripe/resources/source_transaction" require "stripe/resources/source_transaction"
require "stripe/resources/subscription" require "stripe/resources/subscription"

View File

@ -64,7 +64,6 @@ module Stripe
nested_resource_class_methods :external_account, nested_resource_class_methods :external_account,
operations: %i[create retrieve update delete list] operations: %i[create retrieve update delete list]
nested_resource_class_methods :login_link, operations: %i[create] nested_resource_class_methods :login_link, operations: %i[create]
def resource_url def resource_url

View File

@ -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

View File

@ -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

View File

@ -7,6 +7,10 @@ module Stripe
# just like a `Card` object: once chargeable, they can be charged, or can be # just like a `Card` object: once chargeable, they can be charged, or can be
# attached to customers. # 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). # Related guides: [Sources API](https://stripe.com/docs/sources) and [Sources & Customers](https://stripe.com/docs/sources/customers).
class Source < APIResource class Source < APIResource
extend Stripe::APIOperations::Create extend Stripe::APIOperations::Create

View File

@ -50,31 +50,6 @@ module Stripe
end end
save_nested_resource :source 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 = {}) def self.search(params = {}, opts = {})
_search("/v1/subscriptions/search", params, opts) _search("/v1/subscriptions/search", params, opts)

View File

@ -1,5 +1,5 @@
# frozen_string_literal: true # frozen_string_literal: true
module Stripe module Stripe
VERSION = "7.1.0" VERSION = "8.0.0"
end end

View File

@ -314,7 +314,7 @@ module Stripe
assert_equal c.created, 12_345 assert_equal c.created, 12_345
end 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") stub_request(:post, "#{Stripe.api_base}/v1/customers/cus_123")
.with(body: { "description" => "another_mn" }) .with(body: { "description" => "another_mn" })
.to_return(body: JSON.generate(customer_fixture)) .to_return(body: JSON.generate(customer_fixture))
@ -323,7 +323,15 @@ module Stripe
c.save c.save
end 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") stub_request(:post, "#{Stripe.api_base}/v1/customers/cus_123")
.with(body: { "description" => "another_mn" }) .with(body: { "description" => "another_mn" })
.to_return(body: JSON.generate(customer_fixture)) .to_return(body: JSON.generate(customer_fixture))
@ -333,14 +341,21 @@ module Stripe
assert_equal false, c.livemode assert_equal false, c.livemode
end 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 c = Stripe::Customer.new
assert_raises TypeError do assert_raises TypeError do
c.save({}, api_key: nil) c.save({}, api_key: nil)
end end
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") stub_request(:post, "#{Stripe.api_base}/v1/customers")
.with(headers: { "Authorization" => "Bearer sk_test_local" }) .with(headers: { "Authorization" => "Bearer sk_test_local" })
.to_return(body: JSON.generate(customer_fixture)) .to_return(body: JSON.generate(customer_fixture))
@ -349,6 +364,14 @@ module Stripe
assert_equal false, c.livemode assert_equal false, c.livemode
end 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 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") stub_request(:delete, "#{Stripe.api_base}/v1/customers/cus_123")
.to_return(body: JSON.generate("id" => "cus_123", "deleted" => true)) .to_return(body: JSON.generate("id" => "cus_123", "deleted" => true))
@ -385,7 +408,7 @@ module Stripe
c.save c.save
end end
should "add key to nested objects" do should "add key to nested objects on save" do
acct = Stripe::Account.construct_from(id: "myid", acct = Stripe::Account.construct_from(id: "myid",
legal_entity: { legal_entity: {
size: "l", size: "l",
@ -401,6 +424,14 @@ module Stripe
acct.save acct.save
end 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 should "save nothing if nothing changes" do
acct = Stripe::Account.construct_from(id: "acct_id", acct = Stripe::Account.construct_from(id: "acct_id",
metadata: { metadata: {
@ -429,7 +460,7 @@ module Stripe
ch.save ch.save
end end
should "correctly handle replaced nested objects" do should "correctly handle replaced nested objects on save" do
acct = Stripe::Account.construct_from( acct = Stripe::Account.construct_from(
id: "acct_123", id: "acct_123",
company: { company: {
@ -449,7 +480,7 @@ module Stripe
acct.save acct.save
end end
should "correctly handle array setting" do should "correctly handle array setting on save" do
acct = Stripe::Account.construct_from(id: "myid", acct = Stripe::Account.construct_from(id: "myid",
legal_entity: {}) legal_entity: {})
@ -461,7 +492,7 @@ module Stripe
acct.save acct.save
end end
should "correctly handle array insertion" do should "correctly handle array insertion on save" do
acct = Stripe::Account.construct_from(id: "myid", acct = Stripe::Account.construct_from(id: "myid",
legal_entity: { legal_entity: {
additional_owners: [], additional_owners: [],
@ -478,7 +509,7 @@ module Stripe
acct.save acct.save
end end
should "correctly handle array updates" do should "correctly handle array updates on save" do
acct = Stripe::Account.construct_from(id: "myid", acct = Stripe::Account.construct_from(id: "myid",
legal_entity: { legal_entity: {
additional_owners: [{ first_name: "Bob" }, { first_name: "Jane" }], additional_owners: [{ first_name: "Bob" }, { first_name: "Jane" }],
@ -495,7 +526,7 @@ module Stripe
acct.save acct.save
end end
should "correctly handle array noops" do should "correctly handle array noops on save" do
acct = Stripe::Account.construct_from(id: "myid", acct = Stripe::Account.construct_from(id: "myid",
legal_entity: { legal_entity: {
additional_owners: [{ first_name: "Bob" }], additional_owners: [{ first_name: "Bob" }],
@ -509,7 +540,7 @@ module Stripe
acct.save acct.save
end end
should "correctly handle hash noops" do should "correctly handle hash noops on save" do
acct = Stripe::Account.construct_from(id: "myid", acct = Stripe::Account.construct_from(id: "myid",
legal_entity: { legal_entity: {
address: { line1: "1 Two Three" }, address: { line1: "1 Two Three" },

View File

@ -32,6 +32,12 @@ module Stripe
assert_requested :get, "#{Stripe.api_base}/v1/accounts?limit=3" assert_requested :get, "#{Stripe.api_base}/v1/accounts?limit=3"
end end
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 context "Account.reject" do
should "support requests with args: reason, id" do should "support requests with args: reason, id" do
Stripe::Account.reject("acct_xxxxxxxxxxxxx", { reason: "fraud" }) Stripe::Account.reject("acct_xxxxxxxxxxxxx", { reason: "fraud" })
@ -78,6 +84,31 @@ module Stripe
assert_requested :get, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx?" assert_requested :get, "#{Stripe.api_base}/v1/application_fees/fee_xxxxxxxxxxxxx?"
end end
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 context "Apps.Secret.create" do
should "support requests with args: name, payload, scope" do should "support requests with args: name, payload, scope" do
Stripe::Apps::Secret.create( Stripe::Apps::Secret.create(
@ -571,31 +602,6 @@ module Stripe
assert_requested :get, "#{Stripe.api_base}/v1/events/evt_xxxxxxxxxxxxx?" assert_requested :get, "#{Stripe.api_base}/v1/events/evt_xxxxxxxxxxxxx?"
end end
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 context "File.list" do
should "support requests with args: limit" do should "support requests with args: limit" do
Stripe::File.list({ limit: 3 }) Stripe::File.list({ limit: 3 })
@ -1294,12 +1300,6 @@ module Stripe
assert_requested :post, "#{Stripe.api_base}/v1/payouts/po_xxxxxxxxxxxxx" assert_requested :post, "#{Stripe.api_base}/v1/payouts/po_xxxxxxxxxxxxx"
end end
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 context "Person.retrieve" do
should "support requests with args: parent_id, id" do should "support requests with args: parent_id, id" do
Stripe::Account.retrieve_person( Stripe::Account.retrieve_person(
@ -1684,6 +1684,31 @@ module Stripe
assert_requested :get, "#{Stripe.api_base}/v1/reporting/report_types/balance.summary.1?" assert_requested :get, "#{Stripe.api_base}/v1/reporting/report_types/balance.summary.1?"
end end
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 context "Review.approve" do
should "support requests with args: id" do should "support requests with args: id" do
Stripe::Review.approve("prv_xxxxxxxxxxxxx") Stripe::Review.approve("prv_xxxxxxxxxxxxx")
@ -1815,44 +1840,6 @@ module Stripe
assert_requested :get, "#{Stripe.api_base}/v1/sigma/scheduled_query_runs/sqr_xxxxxxxxxxxxx?" assert_requested :get, "#{Stripe.api_base}/v1/sigma/scheduled_query_runs/sqr_xxxxxxxxxxxxx?"
end end
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 context "Source.retrieve" do
should "support requests with args: id" do should "support requests with args: id" do
Stripe::Source.retrieve("src_xxxxxxxxxxxxx") Stripe::Source.retrieve("src_xxxxxxxxxxxxx")
@ -2421,31 +2408,6 @@ module Stripe
assert_requested :post, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx" assert_requested :post, "#{Stripe.api_base}/v1/transfers/tr_xxxxxxxxxxxxx"
end end
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 context "Treasury.CreditReversal.create" do
should "support requests with args: received_credit" do should "support requests with args: received_credit" do
Stripe::Treasury::CreditReversal.create( Stripe::Treasury::CreditReversal.create(

View File

@ -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