X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/efd50cd529990069dc1ca95f66ec6f61471fe29d..4543e85441b758edaf7b4a8f7ed589ca428a9be7:/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