diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-17 06:08:13 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-17 06:08:13 +0000 |
commit | da92a12093920ecd79d9979a29d987157dd0ef78 (patch) | |
tree | 32117b6be0900e1247932c1a304bb26b3f2f48c1 /spec/models/user_preference_spec.rb | |
parent | 4d528bfd734a021b42f9c829831029e5515deb8f (diff) | |
download | gitlab-ce-da92a12093920ecd79d9979a29d987157dd0ef78.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/models/user_preference_spec.rb')
-rw-r--r-- | spec/models/user_preference_spec.rb | 157 |
1 files changed, 155 insertions, 2 deletions
diff --git a/spec/models/user_preference_spec.rb b/spec/models/user_preference_spec.rb index d76334d7c9e..a6f64c90657 100644 --- a/spec/models/user_preference_spec.rb +++ b/spec/models/user_preference_spec.rb @@ -3,7 +3,9 @@ require 'spec_helper' RSpec.describe UserPreference do - let(:user_preference) { create(:user_preference) } + let_it_be(:user) { create(:user) } + + let(:user_preference) { create(:user_preference, user: user) } describe 'validations' do describe 'diffs_deletion_color and diffs_addition_color' do @@ -132,10 +134,24 @@ RSpec.describe UserPreference do describe '#tab_width' do it 'is set to 8 by default' do # Intentionally not using factory here to test the constructor. - pref = UserPreference.new + pref = described_class.new + + expect(pref.tab_width).to eq(8) + end + + it 'returns default value when assigning nil' do + pref = described_class.new(tab_width: nil) + expect(pref.tab_width).to eq(8) end + it 'returns default value when the value is NULL' do + pref = create(:user_preference, user: user) + pref.update_column(:tab_width, nil) + + expect(pref.reload.tab_width).to eq(8) + end + it do is_expected.to validate_numericality_of(:tab_width) .only_integer @@ -143,4 +159,141 @@ RSpec.describe UserPreference do .is_less_than_or_equal_to(12) end end + + describe '#tab_width=' do + it 'sets to default value when nil' do + pref = described_class.new(tab_width: nil) + + expect(pref.read_attribute(:tab_width)).to eq(8) + end + + it 'sets user values' do + pref = described_class.new(tab_width: 12) + + expect(pref.read_attribute(:tab_width)).to eq(12) + end + end + + describe '#time_display_relative' do + it 'is set to true by default' do + pref = described_class.new + + expect(pref.time_display_relative).to eq(true) + end + + it 'returns default value when assigning nil' do + pref = described_class.new(time_display_relative: nil) + + expect(pref.time_display_relative).to eq(true) + end + + it 'returns default value when the value is NULL' do + pref = create(:user_preference, user: user) + pref.update_column(:time_display_relative, nil) + + expect(pref.reload.time_display_relative).to eq(true) + end + + it 'returns assigned value' do + pref = described_class.new(time_display_relative: false) + + expect(pref.time_display_relative).to eq(false) + end + end + + describe '#time_display_relative=' do + it 'sets to default value when nil' do + pref = described_class.new(time_display_relative: nil) + + expect(pref.read_attribute(:time_display_relative)).to eq(true) + end + + it 'sets user values' do + pref = described_class.new(time_display_relative: false) + + expect(pref.read_attribute(:time_display_relative)).to eq(false) + end + end + + describe '#time_format_in_24h' do + it 'is set to false by default' do + pref = described_class.new + + expect(pref.time_format_in_24h).to eq(false) + end + + it 'returns default value when assigning nil' do + pref = described_class.new(time_format_in_24h: nil) + + expect(pref.time_format_in_24h).to eq(false) + end + + it 'returns default value when the value is NULL' do + pref = create(:user_preference, user: user) + pref.update_column(:time_format_in_24h, nil) + + expect(pref.reload.time_format_in_24h).to eq(false) + end + + it 'returns assigned value' do + pref = described_class.new(time_format_in_24h: true) + + expect(pref.time_format_in_24h).to eq(true) + end + end + + describe '#time_format_in_24h=' do + it 'sets to default value when nil' do + pref = described_class.new(time_format_in_24h: nil) + + expect(pref.read_attribute(:time_format_in_24h)).to eq(false) + end + + it 'sets user values' do + pref = described_class.new(time_format_in_24h: true) + + expect(pref.read_attribute(:time_format_in_24h)).to eq(true) + end + end + + describe '#render_whitespace_in_code' do + it 'is set to false by default' do + pref = described_class.new + + expect(pref.render_whitespace_in_code).to eq(false) + end + + it 'returns default value when assigning nil' do + pref = described_class.new(render_whitespace_in_code: nil) + + expect(pref.render_whitespace_in_code).to eq(false) + end + + it 'returns default value when the value is NULL' do + pref = create(:user_preference, user: user) + pref.update_column(:render_whitespace_in_code, nil) + + expect(pref.reload.render_whitespace_in_code).to eq(false) + end + + it 'returns assigned value' do + pref = described_class.new(render_whitespace_in_code: true) + + expect(pref.render_whitespace_in_code).to eq(true) + end + end + + describe '#render_whitespace_in_code=' do + it 'sets to default value when nil' do + pref = described_class.new(render_whitespace_in_code: nil) + + expect(pref.read_attribute(:render_whitespace_in_code)).to eq(false) + end + + it 'sets user values' do + pref = described_class.new(render_whitespace_in_code: true) + + expect(pref.read_attribute(:render_whitespace_in_code)).to eq(true) + end + end end |