mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-10-04 00:00:47 -04:00
* Bump Rubocop to 0.57.2 * Style/StderrPuts: Use warn instead of .puts * Style/ExpandPathArguments: Use expand_path('../test_helper', __dir__) instead of expand_path('../../test_helper', __FILE__) * Style/Encoding: Unnecessary utf-8 encoding comment * Style/StringLiterals: Prefer double-quoted strings * Style/AccessModifierDeclarations * Style/FormatStringToken: Prefer annotated tokens * Naming/UncommunicativeMethodParamName * Metrics/LineLength: set maximum line length to 100 characters * Style/IfUnlessModifier: Favor modifier if usage when having a single-line body * Style/ClassVars * Metrics/LineLength: set maximum line length to 80 characters (default) * Style/AccessModifierDeclarations: EnforcedStyle: inline
117 lines
4.4 KiB
Ruby
117 lines
4.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require ::File.expand_path("../test_helper", __dir__)
|
|
|
|
module Stripe
|
|
class SubscriptionScheduleTest < Test::Unit::TestCase
|
|
should "be listable" do
|
|
subscriptions = Stripe::SubscriptionSchedule.list
|
|
assert_requested :get, "#{Stripe.api_base}/v1/subscription_schedules"
|
|
assert subscriptions.data.is_a?(Array)
|
|
assert subscriptions.data[0].is_a?(Stripe::SubscriptionSchedule)
|
|
end
|
|
|
|
should "be retrievable" do
|
|
schedule = Stripe::SubscriptionSchedule.retrieve("sub_sched_123")
|
|
assert_requested :get,
|
|
"#{Stripe.api_base}/v1/subscription_schedules/sub_sched_123"
|
|
assert schedule.is_a?(Stripe::SubscriptionSchedule)
|
|
end
|
|
|
|
should "be creatable" do
|
|
schedule = Stripe::SubscriptionSchedule.create(
|
|
customer: "cus_123"
|
|
)
|
|
assert_requested :post, "#{Stripe.api_base}/v1/subscription_schedules"
|
|
assert schedule.is_a?(Stripe::SubscriptionSchedule)
|
|
end
|
|
|
|
should "be saveable" do
|
|
schedule = Stripe::SubscriptionSchedule.retrieve("sub_sched_123")
|
|
schedule.metadata["key"] = "value"
|
|
schedule.save
|
|
assert_requested :post,
|
|
"#{Stripe.api_base}/v1/subscription_schedules/#{schedule.id}"
|
|
end
|
|
|
|
should "be updateable" do
|
|
schedule = Stripe::SubscriptionSchedule.update("sub_sched_123", metadata: { foo: "bar" })
|
|
assert_requested :post,
|
|
"#{Stripe.api_base}/v1/subscription_schedules/sub_sched_123"
|
|
assert schedule.is_a?(Stripe::SubscriptionSchedule)
|
|
end
|
|
|
|
context "#cancel" do
|
|
should "cancel a subscription schedule" do
|
|
schedule = Stripe::SubscriptionSchedule.retrieve("sub_sched_123")
|
|
schedule = schedule.cancel
|
|
assert_requested :post,
|
|
"#{Stripe.api_base}/v1/subscription_schedules/#{schedule.id}/cancel"
|
|
assert schedule.is_a?(Stripe::SubscriptionSchedule)
|
|
end
|
|
end
|
|
|
|
context ".cancel" do
|
|
should "cancel a subscription schedule" do
|
|
schedule = Stripe::SubscriptionSchedule.cancel("sub_sched_123")
|
|
assert_requested :post,
|
|
"#{Stripe.api_base}/v1/subscription_schedules/sub_sched_123/cancel"
|
|
assert schedule.is_a?(Stripe::SubscriptionSchedule)
|
|
end
|
|
end
|
|
|
|
context "#release" do
|
|
should "release a subscription schedule" do
|
|
schedule = Stripe::SubscriptionSchedule.retrieve("sub_sched_123")
|
|
schedule = schedule.release
|
|
assert_requested :post,
|
|
"#{Stripe.api_base}/v1/subscription_schedules/#{schedule.id}/release"
|
|
assert schedule.is_a?(Stripe::SubscriptionSchedule)
|
|
end
|
|
end
|
|
|
|
context ".release" do
|
|
should "release a subscription schedule" do
|
|
schedule = Stripe::SubscriptionSchedule.release("sub_sched_123")
|
|
assert_requested :post,
|
|
"#{Stripe.api_base}/v1/subscription_schedules/sub_sched_123/release"
|
|
assert schedule.is_a?(Stripe::SubscriptionSchedule)
|
|
end
|
|
end
|
|
|
|
context "#revisions" do
|
|
should "retrieve the subscription schedule's revisions" do
|
|
schedule = Stripe::SubscriptionSchedule.retrieve("sub_sched_123")
|
|
revisions = schedule.revisions
|
|
assert_requested :get,
|
|
"#{Stripe.api_base}/v1/subscription_schedules/sub_sched_123/revisions"
|
|
assert revisions.data.is_a?(Array)
|
|
assert revisions.data[0].is_a?(Stripe::SubscriptionScheduleRevision)
|
|
end
|
|
end
|
|
|
|
context "#retrieve_revision" do
|
|
should "retrieve a subscription schedule revision" do
|
|
revision = Stripe::SubscriptionSchedule.retrieve_revision(
|
|
"sub_sched_123",
|
|
"sub_sched_rev_123"
|
|
)
|
|
assert_requested :get, "#{Stripe.api_base}/v1/subscription_schedules/sub_sched_123/revisions/sub_sched_rev_123"
|
|
assert revision.is_a?(Stripe::SubscriptionScheduleRevision)
|
|
end
|
|
end
|
|
|
|
context "#list_revisions" do
|
|
should "list a subscription schedule's revisions" do
|
|
revisions = Stripe::SubscriptionSchedule.list_revisions(
|
|
"sub_sched_123"
|
|
)
|
|
assert_requested :get, "#{Stripe.api_base}/v1/subscription_schedules/sub_sched_123/revisions"
|
|
assert revisions.is_a?(Stripe::ListObject)
|
|
assert revisions.data.is_a?(Array)
|
|
assert revisions.data[0].is_a?(Stripe::SubscriptionScheduleRevision)
|
|
end
|
|
end
|
|
end
|
|
end
|