params[:user][:preferred_editor]
end
if current_user.save
- flash[:notice] = t ".success"
+ # Use a partial so that it is rendered during the next page load in the correct language.
+ flash[:notice] = { :partial => "preferences/update_success_flash" }
redirect_to preferences_path
else
flash[:error] = t ".failure"
save: Update Preferences
cancel: Cancel
update:
- success: Preferences updated.
failure: Couldn't update preferences.
+ update_success_flash:
+ message: Preferences updated.
profiles:
edit:
title: Edit Profile
--- /dev/null
+require "application_system_test_case"
+
+class PreferencesTest < ApplicationSystemTestCase
+ def test_flash_message_shows_in_original_language
+ sign_in_as(create(:user))
+
+ visit edit_preferences_path
+ click_on "Update Preferences"
+
+ assert page.has_content?("Preferences updated")
+ end
+
+ def test_flash_message_shows_in_new_language
+ sign_in_as(create(:user))
+
+ visit edit_preferences_path
+ fill_in "Preferred Languages", :with => "fr"
+ click_on "Update Preferences"
+
+ # TODO: enable with french translation when that's available
+ # assert page.has_content?("Préférences mises à jour") # rubocop:disable Style/AsciiComments
+ end
+end