mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-10-04 00:00:47 -04:00
64 lines
2.7 KiB
Ruby
64 lines
2.7 KiB
Ruby
require File.expand_path('../../test_helper', __FILE__)
|
|
|
|
module Stripe
|
|
class SubscriptionItemTest < Test::Unit::TestCase
|
|
should "subscription items should be retrievable" do
|
|
stub_request(:get, "#{Stripe.api_base}/v1/subscription_items/si_test_subscription_item").
|
|
to_return(body: make_response(make_subscription_item))
|
|
sub_item = Stripe::SubscriptionItem.retrieve('si_test_subscription_item')
|
|
|
|
assert sub_item.kind_of?(Stripe::SubscriptionItem)
|
|
end
|
|
|
|
should "subscription items should be listable" do
|
|
stub_request(:get, "#{Stripe.api_base}/v1/subscription_items").
|
|
with(query: { subscription: "s_test_subscription", limit: "3" }).
|
|
to_return(body: make_response(make_subscription_item_array))
|
|
sub_items = Stripe::SubscriptionItem.list(:subscription => 's_test_subscription', :limit => 3).data
|
|
|
|
assert sub_items.kind_of? Array
|
|
assert sub_items[0].kind_of? Stripe::SubscriptionItem
|
|
end
|
|
|
|
should "subscription items should be deletable" do
|
|
stub_request(:get, "#{Stripe.api_base}/v1/subscription_items/si_test_subscription_item").
|
|
to_return(body: make_response(make_subscription_item))
|
|
sub_item = Stripe::SubscriptionItem.retrieve('si_test_subscription_item')
|
|
|
|
stub_request(:delete, "#{Stripe.api_base}/v1/subscription_items/#{sub_item.id}").
|
|
to_return(body: make_response(make_subscription_item))
|
|
sub_item.delete
|
|
end
|
|
|
|
should "subscription items should be updateable" do
|
|
sid = 'si_test_subscription_item'
|
|
stub_request(:post, "#{Stripe.api_base}/v1/subscription_items/#{sid}").
|
|
with(body: { plan: "silver", quantity: "3" }).
|
|
to_return(body: make_response(make_subscription_item))
|
|
|
|
_ = Stripe::SubscriptionItem.update(sid, {:plan => 'silver', :quantity => 3})
|
|
end
|
|
|
|
should "subscription items should be saveable" do
|
|
stub_request(:get, "#{Stripe.api_base}/v1/subscription_items/si_test_subscription_item").
|
|
to_return(body: make_response(make_subscription_item))
|
|
sub_item = Stripe::SubscriptionItem.retrieve('si_test_subscription_item')
|
|
|
|
stub_request(:post, "#{Stripe.api_base}/v1/subscription_items/#{sub_item.id}").
|
|
with(body: { plan: "silver", quantity: "3" }).
|
|
to_return(body: make_response(make_subscription_item))
|
|
sub_item.plan = 'silver'
|
|
sub_item.quantity = 3
|
|
sub_item.save
|
|
end
|
|
|
|
should "create should return a new subscription item" do
|
|
stub_request(:post, "#{Stripe.api_base}/v1/subscription_items").
|
|
with(body: { plan: "silver", quantity: "3" }).
|
|
to_return(body: make_response(make_subscription_item))
|
|
|
|
_ = Stripe::SubscriptionItem.create(:plan => 'silver', :quantity => 3)
|
|
end
|
|
end
|
|
end
|