1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-22 06:39:39 +02:00

Add ability to delete Maybe account (#698)

* Build out user deactivation and purging workflows

* Add i18n translations for user deletion

* Add tests for user deletion

* Fix lint issue
This commit is contained in:
Josh Brown 2024-04-30 16:40:31 +01:00 committed by GitHub
parent 55cb1ae5bd
commit 19ee773d9b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 128 additions and 8 deletions

View file

@ -4,8 +4,39 @@ class Settings::ProfilesControllerTest < ActionDispatch::IntegrationTest
setup do
sign_in @user = users(:family_admin)
end
test "get" do
get settings_profile_url
assert_response :success
end
test "member can deactivate their account" do
sign_in @member = users(:family_member)
delete settings_profile_url
assert_redirected_to root_url
assert_not User.find(@member.id).active?
assert_enqueued_with(job: UserPurgeJob, args: [ @member ])
end
test "admin prevented from deactivating when other users are present" do
sign_in @admin = users(:family_admin)
delete settings_profile_url
assert_redirected_to settings_profile_url
assert_no_enqueued_jobs only: UserPurgeJob
assert User.find(@admin.id).active?
end
test "admin can deactivate their account when they are the last user in the family" do
sign_in @admin = users(:family_admin)
users(:family_member).destroy
delete settings_profile_url
assert_redirected_to root_url
assert_not User.find(@admin.id).active?
assert_enqueued_with(job: UserPurgeJob, args: [ @admin ])
end
end