X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/8c269aba4e7ab309808570e3c3d47af2d88f414a..d74dd80540824b86fc93fc9573f412bbbcaefbc4:/test/abilities/abilities_test.rb diff --git a/test/abilities/abilities_test.rb b/test/abilities/abilities_test.rb index fc37b0e7d..b951e23e5 100644 --- a/test/abilities/abilities_test.rb +++ b/test/abilities/abilities_test.rb @@ -26,6 +26,26 @@ class GuestAbilityTest < AbilityTest assert ability.cannot?(action, DiaryComment), "should not be able to #{action} DiaryEntries" end end + + test "note permissions for a guest" do + ability = Ability.new nil + + [:index, :create, :comment, :feed, :show, :search, :mine].each do |action| + assert ability.can?(action, Note), "should be able to #{action} Notes" + end + + [:close, :reopen, :destroy].each do |action| + assert ability.cannot?(action, Note), "should not be able to #{action} Notes" + end + end + + test "user roles permissions for a guest" do + ability = Ability.new nil + + [:grant, :revoke].each do |action| + assert ability.cannot?(action, UserRole), "should not be able to #{action} UserRoles" + end + end end class UserAbilityTest < AbilityTest @@ -45,6 +65,18 @@ class UserAbilityTest < AbilityTest assert ability.cannot?(action, Issue), "should not be able to #{action} Issues" end end + + test "Note permissions" do + ability = Ability.new create(:user) + + [:index, :create, :comment, :feed, :show, :search, :mine, :close, :reopen].each do |action| + assert ability.can?(action, Note), "should be able to #{action} Notes" + end + + [:destroy].each do |action| + assert ability.cannot?(action, Note), "should not be able to #{action} Notes" + end + end end class ModeratorAbilityTest < AbilityTest @@ -55,6 +87,22 @@ class ModeratorAbilityTest < AbilityTest assert ability.can?(action, Issue), "should be able to #{action} Issues" end end + + test "Note permissions" do + ability = Ability.new create(:moderator_user) + + [:index, :create, :comment, :feed, :show, :search, :mine, :close, :reopen, :destroy].each do |action| + assert ability.can?(action, Note), "should be able to #{action} Notes" + end + end + + test "User Roles permissions" do + ability = Ability.new create(:moderator_user) + + [:grant, :revoke].each do |action| + assert ability.cannot?(action, UserRole), "should not be able to #{action} UserRoles" + end + end end class AdministratorAbilityTest < AbilityTest @@ -68,4 +116,12 @@ class AdministratorAbilityTest < AbilityTest assert ability.can?(action, DiaryComment), "should be able to #{action} DiaryComment" end end + + test "User Roles permissions for an administrator" do + ability = Ability.new create(:administrator_user) + + [:grant, :revoke].each do |action| + assert ability.can?(action, UserRole), "should be able to #{action} UserRoles" + end + end end