2025-05-06 14:05:21 -04:00
|
|
|
require "test_helper"
|
|
|
|
|
|
|
|
class SubscriptionTest < ActiveSupport::TestCase
|
|
|
|
setup do
|
2025-05-13 14:53:13 -05:00
|
|
|
@family = Family.create!(name: "Test Family")
|
2025-05-06 14:05:21 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
test "can create subscription without stripe details if trial" do
|
|
|
|
subscription = Subscription.new(
|
|
|
|
family: @family,
|
|
|
|
status: :trialing,
|
|
|
|
)
|
|
|
|
|
|
|
|
assert_not subscription.valid?
|
|
|
|
|
|
|
|
subscription.trial_ends_at = 14.days.from_now
|
|
|
|
|
|
|
|
assert subscription.valid?
|
|
|
|
end
|
|
|
|
|
|
|
|
test "stripe details required for all statuses except trial" do
|
|
|
|
subscription = Subscription.new(
|
|
|
|
family: @family,
|
|
|
|
status: :active,
|
|
|
|
)
|
|
|
|
|
|
|
|
assert_not subscription.valid?
|
|
|
|
|
|
|
|
subscription.stripe_id = "test-stripe-id"
|
|
|
|
|
|
|
|
assert subscription.valid?
|
|
|
|
end
|
|
|
|
end
|