diff options
author | Robert Speicher <rspeicher@gmail.com> | 2015-06-05 15:53:57 -0400 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2015-06-13 17:58:16 -0400 |
commit | 8112f7550b70c83bde2f74ed48e7781c5424ebb9 (patch) | |
tree | 901945d778c172754ff408832f26c8a2b39a3def /spec/helpers/preferences_helper_spec.rb | |
parent | 844d72716e2175dcd5e39b4d1eecb9e3560aa0b9 (diff) | |
download | gitlab-ce-8112f7550b70c83bde2f74ed48e7781c5424ebb9.tar.gz |
Add PreferencesHelper module
Consolidates the helpers related to user preferences.
Renames `app_theme` to `user_application_theme` to better explain what
it is.
Diffstat (limited to 'spec/helpers/preferences_helper_spec.rb')
-rw-r--r-- | spec/helpers/preferences_helper_spec.rb | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/spec/helpers/preferences_helper_spec.rb b/spec/helpers/preferences_helper_spec.rb new file mode 100644 index 00000000000..095b016e6ec --- /dev/null +++ b/spec/helpers/preferences_helper_spec.rb @@ -0,0 +1,53 @@ +require 'spec_helper' + +describe PreferencesHelper do + describe 'user_application_theme' do + context 'with a user' do + it "returns user's theme's css_class" do + user = double('user', theme_id: 3) + allow(self).to receive(:current_user).and_return(user) + expect(user_application_theme).to eq 'ui_green' + end + + it 'returns the default when id is invalid' do + user = double('user', theme_id: Gitlab::Themes::THEMES.size + 5) + + allow(Gitlab.config.gitlab).to receive(:default_theme).and_return(2) + allow(self).to receive(:current_user).and_return(user) + + expect(user_application_theme).to eq 'ui_charcoal' + end + end + + context 'without a user' do + before do + allow(self).to receive(:current_user).and_return(nil) + end + + it 'returns the default theme' do + expect(user_application_theme).to eq Gitlab::Themes.default.css_class + end + end + end + + describe 'user_color_scheme_class' do + context 'with current_user is nil' do + it 'should return a string' do + allow(self).to receive(:current_user).and_return(nil) + expect(user_color_scheme_class).to be_kind_of(String) + end + end + + context 'with a current_user' do + (1..5).each do |color_scheme_id| + context "with color_scheme_id == #{color_scheme_id}" do + it 'should return a string' do + current_user = double(:color_scheme_id => color_scheme_id) + allow(self).to receive(:current_user).and_return(current_user) + expect(user_color_scheme_class).to be_kind_of(String) + end + end + end + end + end +end |