Fix display of suspension message when a user is suspended mid-session

Without the ability defined, the user is still logged out, but then
the deny_access check redirects to the login page. The re-login attempt
would then fail anyway, with an error message, but let's fix the abilities
and use the intended page.
This commit is contained in:
Andy Allan 2022-01-05 18:14:30 +00:00
parent 8dc91ce6a6
commit 4bed9c12a0
2 changed files with 16 additions and 1 deletions

View file

@ -23,7 +23,7 @@ class Ability
can [:index, :show], Redaction
can [:new, :create, :destroy], :session
can [:index, :show, :data, :georss, :picture, :icon], Trace
can [:terms, :new, :create, :save, :show, :auth_success, :auth_failure], User
can [:terms, :new, :create, :save, :suspended, :show, :auth_success, :auth_failure], User
can [:index, :show, :blocks_on, :blocks_by], UserBlock
can [:index, :show], Node
can [:index, :show, :full, :ways_for_node], Way

View file

@ -0,0 +1,15 @@
require "application_system_test_case"
class UserSuspensionTest < ApplicationSystemTestCase
test "User shown a message when suspended mid-session" do
user = create(:user)
sign_in_as(user)
visit edit_account_path
assert_content "My Settings"
user.update(:status => "suspended")
visit edit_account_path
assert_content "This decision will be reviewed by an administrator shortly"
end
end