1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-19 05:09:38 +02:00
Maybe/test/controllers/subscriptions_controller_test.rb
Zach Gollwitzer 441f436187
Some checks failed
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
Onboarding redirect tests and trial status bar (#2197)
* Onboarding redirect tests and trial status bar

* use helper method

* Fix time tolerance failure

* Update post-onboarding message to be generic

* Disable turbo frames on Trial start button

* Update flash notice in test
2025-05-02 15:21:46 -04:00

41 lines
1.2 KiB
Ruby

require "test_helper"
class SubscriptionsControllerTest < ActionDispatch::IntegrationTest
setup do
sign_in @user = users(:family_admin)
end
test "can start trial" do
@user.update!(onboarded_at: nil)
@user.family.update!(trial_started_at: nil, stripe_subscription_status: "incomplete")
assert_nil @user.onboarded_at
assert_nil @user.family.trial_started_at
post start_trial_subscription_path
assert_redirected_to root_path
assert_equal "Welcome to Maybe!", flash[:notice]
assert @user.reload.onboarded?
assert @user.family.reload.trial_started_at.present?
end
test "if user re-enters onboarding, don't restart trial" do
onboard_time = 1.day.ago
trial_start_time = 1.day.ago
@user.update!(onboarded_at: onboard_time)
@user.family.update!(trial_started_at: trial_start_time, stripe_subscription_status: "incomplete")
post start_trial_subscription_path
assert_redirected_to root_path
assert @user.reload.family.trial_started_at < Date.current
end
test "redirects to settings if self hosting" do
Rails.application.config.app_mode.stubs(:self_hosted?).returns(true)
get subscription_path
assert_response :forbidden
end
end