mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-07-05 00:00:59 -04:00
Compare commits
No commits in common. "bb48bff8192c92c8194000ced6c0b40a85808cde" and "e757a6f26c1ad76404e2dd178a51b62267d83949" have entirely different histories.
bb48bff819
...
e757a6f26c
@ -84,6 +84,7 @@ 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,
|
||||||
|
@ -71,6 +71,7 @@ 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"
|
||||||
|
19
lib/stripe/resources/sku.rb
Normal file
19
lib/stripe/resources/sku.rb
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# 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
|
@ -1815,6 +1815,44 @@ 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")
|
||||||
|
60
test/stripe/sku_test.rb
Normal file
60
test/stripe/sku_test.rb
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
# 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