1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-21 22:29:38 +02:00
Maybe/test/controllers/settings/profiles_controller_test.rb

43 lines
1.1 KiB
Ruby
Raw Normal View History

require "test_helper"
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