diff --git a/test/system/onboardings_test.rb b/test/system/onboardings_test.rb index dd1c93c9..32dc1783 100644 --- a/test/system/onboardings_test.rb +++ b/test/system/onboardings_test.rb @@ -16,25 +16,25 @@ class OnboardingsTest < ApplicationSystemTestCase visit onboarding_path assert_text "Let's set up your account" - assert_button "Get started" + assert_button "Continue" # Navigate to preferences - click_button "Get started" + click_button "Continue" assert_current_path preferences_onboarding_path - assert_text "Set your preferences" + assert_text "Configure your preferences" # Test that the chart renders without errors (this would catch the Series bug) assert_selector "[data-controller='time-series-chart']" # Fill out preferences form - select "English", from: "user_family_attributes_locale" + select "English (en)", from: "user_family_attributes_locale" select "United States Dollar (USD)", from: "user_family_attributes_currency" select "MM/DD/YYYY", from: "user_family_attributes_date_format" select "Light", from: "user_theme" # Submit preferences - click_button "Continue" + click_button "Complete" # Should redirect to goals page assert_current_path goals_onboarding_path @@ -100,22 +100,25 @@ class OnboardingsTest < ApplicationSystemTestCase # Clear required fields and try to submit select "", from: "user_family_attributes_locale" - click_button "Continue" + click_button "Complete" - # Should stay on preferences page with validation errors - assert_current_path preferences_onboarding_path + # Should stay on preferences page with validation errors (may have query params) + assert_match %r{/onboarding/preferences}, current_path end test "preferences form saves data correctly" do visit preferences_onboarding_path # Fill out form with specific values - select "Spanish", from: "user_family_attributes_locale" + select "Spanish (es)", from: "user_family_attributes_locale" select "Euro (EUR)", from: "user_family_attributes_currency" select "DD/MM/YYYY", from: "user_family_attributes_date_format" select "Dark", from: "user_theme" - click_button "Continue" + click_button "Complete" + + # Wait for redirect to goals page to ensure form was submitted + assert_current_path goals_onboarding_path # Verify data was saved @family.reload @@ -123,7 +126,7 @@ class OnboardingsTest < ApplicationSystemTestCase assert_equal "es", @family.locale assert_equal "EUR", @family.currency - assert_equal "DD/MM/YYYY", @family.date_format + assert_equal "%d/%m/%Y", @family.date_format assert_equal "dark", @user.theme assert_not_nil @user.set_onboarding_preferences_at end @@ -135,7 +138,7 @@ class OnboardingsTest < ApplicationSystemTestCase visit goals_onboarding_path assert_text "What brings you to Maybe?" - assert_button "Continue" + assert_button "Next" end test "trial page renders correctly" do @@ -147,16 +150,16 @@ class OnboardingsTest < ApplicationSystemTestCase test "navigation between onboarding steps" do # Start at main onboarding visit onboarding_path - click_button "Get started" + click_button "Continue" # Should be at preferences assert_current_path preferences_onboarding_path # Complete preferences - select "English", from: "user_family_attributes_locale" + select "English (en)", from: "user_family_attributes_locale" select "United States Dollar (USD)", from: "user_family_attributes_currency" select "MM/DD/YYYY", from: "user_family_attributes_date_format" - click_button "Continue" + click_button "Complete" # Should be at goals assert_current_path goals_onboarding_path @@ -166,14 +169,14 @@ class OnboardingsTest < ApplicationSystemTestCase visit preferences_onboarding_path # Check that navigation shows current step - assert_selector ".onboarding-nav" # Adjust selector based on actual implementation + assert_selector "ul.hidden.md\\:flex.items-center.gap-2" end test "logout option is available during onboarding" do visit preferences_onboarding_path - # Should have logout option - assert_link "Sign out" # Adjust based on actual implementation + # Should have logout option (rendered as a button component) + assert_text "Sign out" end private @@ -188,5 +191,5 @@ class OnboardingsTest < ApplicationSystemTestCase # Wait for successful login assert_current_path root_path -end + end end