diff --git a/Changelog.md b/Changelog.md index 41ee685182108d2aaad65ad018728bb6a32c4c75..6b2a3a7a7dbfe81eef5142348887f2e78a25399c 100644 --- a/Changelog.md +++ b/Changelog.md @@ -6,6 +6,7 @@ ## Features * Show spinner on initial stream load [#6384](https://github.com/diaspora/diaspora/pull/6384) +* Add new moderator role. Moderators can view and act on reported posts [#6351](https://github.com/diaspora/diaspora/pull/6351) # 0.5.3.0 diff --git a/spec/models/role_spec.rb b/spec/models/role_spec.rb index e0f21f7bb01a77d86bb2dc1880e337ba90868ef9..225cd4eadf8ad68abf06809036879e9b5f4575d1 100644 --- a/spec/models/role_spec.rb +++ b/spec/models/role_spec.rb @@ -1,7 +1,11 @@ require "spec_helper" describe Role do - let(:person) { create(:person) } + let!(:person) { create(:person) } + let!(:admin) { create(:person) } + let!(:admin_role) { admin.roles.create(name: "admin") } + let!(:moderator) { create(:person) } + let!(:moderator_role) { moderator.roles.create(name: "moderator") } describe "validations" do it { should validate_presence_of(:person) } @@ -14,10 +18,6 @@ describe Role do end describe "scopes" do - let!(:admin_role) { person.roles.create(name: "admin") } - let!(:moderator_role) { person.roles.create(name: "moderator") } - let!(:spotlight_role) { person.roles.create(name: "spotlight") } - describe ".admins" do it "includes admin roles" do expect(Role.admins).to match_array([admin_role]) @@ -32,10 +32,6 @@ describe Role do it "should include moderators" do expect(Role.moderators).to include(moderator_role) end - - it "should not include normal users" do - expect(Role.moderators).to_not include(person) - end end end @@ -45,10 +41,32 @@ describe Role do end context "when the person is an admin" do - before { person.roles.create(name: "admin") } + it "is true" do + expect(Role.is_admin?(admin)).to be true + end + end + + context "when the person is a moderator" do + it "is false" do + expect(Role.is_admin?(moderator)).to be false + end + end + end + describe ".moderator?" do + it "defaults to false" do + expect(Role.moderator?(person)).to be false + end + + context "when the person is a moderator" do + it "is true" do + expect(Role.moderator?(moderator)).to be true + end + end + + context "when the person is an admin" do it "is true" do - expect(Role.is_admin?(person)).to be true + expect(Role.moderator?(admin)).to be true end end end