diff options
author | Fabian Schneider <fabbbbbi+git@googlemail.com> | 2019-02-21 01:58:53 +0300 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2019-02-21 01:58:53 +0300 |
commit | a32fd49dd87414fcb8a9c979bd19b57355758c6e (patch) | |
tree | b797cfd4d7315be01162301fbf6ea98b99692fa5 /spec | |
parent | 09532e38bd7c612fd3d0e6ac7e17ec7bc648302f (diff) |
Move language setting to preferences
Diffstat (limited to 'spec')
-rw-r--r-- | spec/controllers/profiles/preferences_controller_spec.rb | 3 | ||||
-rw-r--r-- | spec/features/profiles/user_visits_profile_preferences_page_spec.rb | 24 | ||||
-rw-r--r-- | spec/helpers/preferences_helper_spec.rb | 7 |
3 files changed, 33 insertions, 1 deletions
diff --git a/spec/controllers/profiles/preferences_controller_spec.rb b/spec/controllers/profiles/preferences_controller_spec.rb index 760c0fab130..ee881f85233 100644 --- a/spec/controllers/profiles/preferences_controller_spec.rb +++ b/spec/controllers/profiles/preferences_controller_spec.rb @@ -43,7 +43,8 @@ describe Profiles::PreferencesController do color_scheme_id: '1', dashboard: 'stars', theme_id: '2', - first_day_of_week: '1' + first_day_of_week: '1', + preferred_language: 'jp' }.with_indifferent_access expect(user).to receive(:assign_attributes).with(ActionController::Parameters.new(prefs).permit!) diff --git a/spec/features/profiles/user_visits_profile_preferences_page_spec.rb b/spec/features/profiles/user_visits_profile_preferences_page_spec.rb index 90d6841af0e..9909bfb5904 100644 --- a/spec/features/profiles/user_visits_profile_preferences_page_spec.rb +++ b/spec/features/profiles/user_visits_profile_preferences_page_spec.rb @@ -1,6 +1,8 @@ require 'spec_helper' describe 'User visits the profile preferences page' do + include Select2Helper + let(:user) { create(:user) } before do @@ -60,6 +62,28 @@ describe 'User visits the profile preferences page' do end end + describe 'User changes their language', :js do + it 'creates a flash message' do + select2('en', from: '#user_preferred_language') + click_button 'Save' + + wait_for_requests + + expect_preferences_saved_message + end + + it 'updates their preference' do + wait_for_requests + select2('eo', from: '#user_preferred_language') + click_button 'Save' + + wait_for_requests + refresh + + expect(page).to have_css('html[lang="eo"]') + end + end + def expect_preferences_saved_message page.within('.flash-container') do expect(page).to have_content('Preferences saved.') diff --git a/spec/helpers/preferences_helper_spec.rb b/spec/helpers/preferences_helper_spec.rb index 4c395248644..e0e8ebd0c3c 100644 --- a/spec/helpers/preferences_helper_spec.rb +++ b/spec/helpers/preferences_helper_spec.rb @@ -110,6 +110,13 @@ describe PreferencesHelper do end end + describe '#language_choices' do + it 'returns an array of all available languages' do + expect(helper.language_choices).to be_an(Array) + expect(helper.language_choices.map(&:second)).to eq(Gitlab::I18n.available_locales) + end + end + def stub_user(messages = {}) if messages.empty? allow(helper).to receive(:current_user).and_return(nil) |