mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-24 07:39:39 +02:00
Add/remove members and invitations (#1744)
* Add/remove members and invitations * Lint
This commit is contained in:
parent
282c05345d
commit
0696e1f2f7
10 changed files with 188 additions and 29 deletions
|
@ -2,11 +2,46 @@ require "test_helper"
|
|||
|
||||
class Settings::ProfilesControllerTest < ActionDispatch::IntegrationTest
|
||||
setup do
|
||||
sign_in @user = users(:family_admin)
|
||||
@admin = users(:family_admin)
|
||||
@member = users(:family_member)
|
||||
end
|
||||
|
||||
test "get" do
|
||||
get settings_profile_url
|
||||
test "should get show" do
|
||||
sign_in @admin
|
||||
get settings_profile_path
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
test "admin can remove a family member" do
|
||||
sign_in @admin
|
||||
assert_difference("User.count", -1) do
|
||||
delete settings_profile_path(user_id: @member)
|
||||
end
|
||||
|
||||
assert_redirected_to settings_profile_path
|
||||
assert_equal I18n.t("settings.profiles.destroy.member_removed"), flash[:notice]
|
||||
assert_raises(ActiveRecord::RecordNotFound) { User.find(@member.id) }
|
||||
end
|
||||
|
||||
test "admin cannot remove themselves" do
|
||||
sign_in @admin
|
||||
assert_no_difference("User.count") do
|
||||
delete settings_profile_path(user_id: @admin)
|
||||
end
|
||||
|
||||
assert_redirected_to settings_profile_path
|
||||
assert_equal I18n.t("settings.profiles.destroy.cannot_remove_self"), flash[:alert]
|
||||
assert User.find(@admin.id)
|
||||
end
|
||||
|
||||
test "non-admin cannot remove members" do
|
||||
sign_in @member
|
||||
assert_no_difference("User.count") do
|
||||
delete settings_profile_path(user_id: @admin)
|
||||
end
|
||||
|
||||
assert_redirected_to settings_profile_path
|
||||
assert_equal I18n.t("settings.profiles.destroy.not_authorized"), flash[:alert]
|
||||
assert User.find(@admin.id)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue