mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-19 21:29:38 +02:00
44 lines
1.2 KiB
Ruby
44 lines
1.2 KiB
Ruby
|
require "test_helper"
|
||
|
|
||
|
class OnboardableTest < ActionDispatch::IntegrationTest
|
||
|
setup do
|
||
|
sign_in @user = users(:empty)
|
||
|
end
|
||
|
|
||
|
test "must complete onboarding before any other action" do
|
||
|
@user.update!(onboarded_at: nil)
|
||
|
|
||
|
get root_path
|
||
|
assert_redirected_to onboarding_path
|
||
|
|
||
|
@user.family.update!(trial_started_at: 1.day.ago, stripe_subscription_status: "active")
|
||
|
|
||
|
get root_path
|
||
|
assert_redirected_to onboarding_path
|
||
|
end
|
||
|
|
||
|
test "must subscribe if onboarding complete and no trial or subscription is active" do
|
||
|
@user.update!(onboarded_at: 1.day.ago)
|
||
|
@user.family.update!(trial_started_at: nil, stripe_subscription_status: "incomplete")
|
||
|
|
||
|
get root_path
|
||
|
assert_redirected_to upgrade_subscription_path
|
||
|
end
|
||
|
|
||
|
test "onboarded trial user can visit dashboard" do
|
||
|
@user.update!(onboarded_at: 1.day.ago)
|
||
|
@user.family.update!(trial_started_at: 1.day.ago, stripe_subscription_status: "incomplete")
|
||
|
|
||
|
get root_path
|
||
|
assert_response :success
|
||
|
end
|
||
|
|
||
|
test "onboarded subscribed user can visit dashboard" do
|
||
|
@user.update!(onboarded_at: 1.day.ago)
|
||
|
@user.family.update!(stripe_subscription_status: "active")
|
||
|
|
||
|
get root_path
|
||
|
assert_response :success
|
||
|
end
|
||
|
end
|