Add update block ability with conditions

This commit is contained in:
Anton Khorev 2024-08-22 12:53:08 +03:00
parent 8dc5de1a0f
commit ae3e804ee6
2 changed files with 51 additions and 1 deletions

View file

@ -95,6 +95,53 @@ class ModeratorAbilityTest < AbilityTest
assert ability.can?(action, DiaryComment), "should be able to #{action} DiaryComment"
end
end
test "Active block update permissions" do
creator_user = create(:moderator_user)
other_moderator_user = create(:moderator_user)
block = create(:user_block, :creator => creator_user)
creator_ability = Ability.new creator_user
assert creator_ability.can?(:edit, block)
assert creator_ability.can?(:update, block)
other_moderator_ability = Ability.new other_moderator_user
assert other_moderator_ability.can?(:edit, block)
assert other_moderator_ability.can?(:update, block)
end
test "Expired block update permissions" do
creator_user = create(:moderator_user)
other_moderator_user = create(:moderator_user)
block = create(:user_block, :expired, :creator => creator_user)
creator_ability = Ability.new creator_user
assert creator_ability.can?(:edit, block)
assert creator_ability.can?(:update, block)
other_moderator_ability = Ability.new other_moderator_user
assert other_moderator_ability.cannot?(:edit, block)
assert other_moderator_ability.cannot?(:update, block)
end
test "Revoked block update permissions" do
creator_user = create(:moderator_user)
revoker_user = create(:moderator_user)
other_moderator_user = create(:moderator_user)
block = create(:user_block, :revoked, :creator => creator_user, :revoker => revoker_user)
creator_ability = Ability.new creator_user
assert creator_ability.can?(:edit, block)
assert creator_ability.can?(:update, block)
revoker_ability = Ability.new revoker_user
assert revoker_ability.can?(:edit, block)
assert revoker_ability.can?(:update, block)
other_moderator_ability = Ability.new other_moderator_user
assert other_moderator_ability.cannot?(:edit, block)
assert other_moderator_ability.cannot?(:update, block)
end
end
class AdministratorAbilityTest < AbilityTest