Subscription tests and domain (#2209)

* Save work

* Subscriptions and trials domain

* Store family ID on customer

* Remove indirection of stripe calls

* Test simplifications

* Update brakeman

* Fix stripe tests in CI

* Update billing page to show subscription details

* Remove legacy columns

* Complete billing settings page

* Fix hardcoded plan name

* Handle subscriptions for self hosting mode

* Lint fixes
This commit is contained in:
Zach Gollwitzer
2025-05-06 14:05:21 -04:00
committed by GitHub
parent 8c10e87387
commit 5da4bb6dc3
40 changed files with 1041 additions and 233 deletions

View File

@@ -0,0 +1,33 @@
require "test_helper"
class SubscriptionTest < ActiveSupport::TestCase
setup do
@family = families(:empty)
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