summaryrefslogtreecommitdiff
path: root/spec/models/user_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/user_spec.rb')
-rw-r--r--spec/models/user_spec.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index 74e38e79616..855b8e3a8a7 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -20,6 +20,9 @@ describe User, :do_not_mock_admin_mode do
describe 'delegations' do
it { is_expected.to delegate_method(:path).to(:namespace).with_prefix }
+
+ it { is_expected.to delegate_method(:tab_width).to(:user_preference) }
+ it { is_expected.to delegate_method(:tab_width=).to(:user_preference).with_arguments(5) }
end
describe 'associations' do
@@ -4126,4 +4129,41 @@ describe User, :do_not_mock_admin_mode do
end
end
end
+
+ describe 'internal methods' do
+ let_it_be(:user) { create(:user) }
+ let!(:ghost) { described_class.ghost }
+ let!(:alert_bot) { described_class.alert_bot }
+ let!(:non_internal) { [user] }
+ let!(:internal) { [ghost, alert_bot] }
+
+ it 'returns non internal users' do
+ expect(described_class.internal).to eq(internal)
+ expect(internal.all?(&:internal?)).to eq(true)
+ end
+
+ it 'returns internal users' do
+ expect(described_class.non_internal).to eq(non_internal)
+ expect(non_internal.all?(&:internal?)).to eq(false)
+ end
+
+ describe '#bot?' do
+ it 'marks bot users' do
+ expect(user.bot?).to eq(false)
+ expect(ghost.bot?).to eq(false)
+
+ expect(alert_bot.bot?).to eq(true)
+ end
+ end
+ end
+
+ describe 'bots & humans' do
+ it 'returns corresponding users' do
+ human = create(:user)
+ bot = create(:user, :bot)
+
+ expect(described_class.humans).to match_array([human])
+ expect(described_class.bots).to match_array([bot])
+ end
+ end
end