diff --git a/app/models/user.rb b/app/models/user.rb index 4eb832546..931aaae60 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -25,6 +25,6 @@ class User < ActiveRecord::Base end def moderator? - @is_moderator ||= Moderator.where(user_id: id).exists? + @is_moderator ||= Moderator.where(user_id: id).exists? || administrator? end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index f360e207e..e53871fe2 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -86,7 +86,7 @@ describe User do end describe "moderator?" do - it "is false when the user is not a moderator" do + it "is false when the user is not a moderator nor an administrator" do expect(subject.moderator?).to be false end @@ -95,6 +95,12 @@ describe User do create(:moderator, user: subject) expect(subject.moderator?).to be true end + + it "is true when the user is an administrator" do + subject.save + create(:administrator, user: subject) + expect(subject.moderator?).to be true + end end end