user deletions: fix error when given incorrect password.
Use validations instead of raising an exception when the password is incorrect so that the controller can display errors sensibly. Also fix users being logged out even when the deletion attempt failed due to an incorrect password.
This commit is contained in:
@@ -6,10 +6,8 @@ class UserDeletionTest < ActiveSupport::TestCase
|
||||
should "fail" do
|
||||
@user = create(:user)
|
||||
@deletion = UserDeletion.new(@user, "wrongpassword")
|
||||
|
||||
assert_raise(UserDeletion::ValidationError) do
|
||||
@deletion.delete!
|
||||
end
|
||||
@deletion.delete!
|
||||
assert_includes(@deletion.errors[:base], "Password is incorrect")
|
||||
end
|
||||
end
|
||||
|
||||
@@ -17,10 +15,8 @@ class UserDeletionTest < ActiveSupport::TestCase
|
||||
should "fail" do
|
||||
@user = create(:admin_user)
|
||||
@deletion = UserDeletion.new(@user, "password")
|
||||
|
||||
assert_raise(UserDeletion::ValidationError) do
|
||||
@deletion.delete!
|
||||
end
|
||||
@deletion.delete!
|
||||
assert_includes(@deletion.errors[:base], "Admins cannot delete their account")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user