def test_dao_archive_user(sample_user, sample_organisation, fake_uuid): sample_user.current_session_id = fake_uuid # create 2 services for sample_user to be a member of (each with another active user) service_1 = create_service(service_name='Service 1') service_1_user = create_user(email='*****@*****.**') service_1.users = [sample_user, service_1_user] create_permissions(sample_user, service_1, 'manage_settings') create_permissions(service_1_user, service_1, 'manage_settings', 'view_activity') service_2 = create_service(service_name='Service 2') service_2_user = create_user(email='*****@*****.**') service_2.users = [sample_user, service_2_user] create_permissions(sample_user, service_2, 'view_activity') create_permissions(service_2_user, service_2, 'manage_settings') # make sample_user an org member sample_organisation.users = [sample_user] dao_archive_user(sample_user) assert sample_user.get_permissions() == {} assert sample_user.services == [] assert sample_user.organisations == [] assert sample_user.auth_type == EMAIL_AUTH_TYPE assert sample_user.email_address == '*****@*****.**' assert sample_user.mobile_number is None assert sample_user.current_session_id == uuid.UUID( '00000000-0000-0000-0000-000000000000') assert sample_user.state == 'inactive' assert not sample_user.check_password('password')
def test_user_can_be_archived_if_the_other_service_members_have_the_manage_settings_permission(sample_service): user_1 = create_user(email='*****@*****.**') user_2 = create_user(email='*****@*****.**') user_3 = create_user(email='*****@*****.**') sample_service.users = [user_1, user_2, user_3] create_permissions(user_1, sample_service, 'manage_settings') create_permissions(user_2, sample_service, 'manage_settings', 'view_activity') create_permissions(user_3, sample_service, 'manage_settings', 'send_emails', 'send_letters', 'send_texts') assert len(sample_service.users) == 3 assert user_can_be_archived(user_1)
def test_user_cannot_be_archived_if_the_other_service_members_do_not_have_the_manage_setting_permission( sample_service, ): active_user = create_user(email='*****@*****.**') pending_user = create_user(email='*****@*****.**') inactive_user = create_user(email='*****@*****.**') sample_service.users = [active_user, pending_user, inactive_user] create_permissions(active_user, sample_service, 'manage_settings') create_permissions(pending_user, sample_service, 'view_activity') create_permissions(inactive_user, sample_service, 'send_emails', 'send_letters', 'send_texts') assert len(sample_service.users) == 3 assert not user_can_be_archived(active_user)
def test_user_cannot_be_archived_if_the_other_service_members_do_not_have_the_manage_setting_permission( sample_service, ): active_user = create_user(email="*****@*****.**") pending_user = create_user(email="*****@*****.**") inactive_user = create_user(email="*****@*****.**") sample_service.users = [active_user, pending_user, inactive_user] create_permissions(active_user, sample_service, "manage_settings") create_permissions(pending_user, sample_service, "view_activity") create_permissions(inactive_user, sample_service, "send_emails", "send_letters", "send_texts") assert len(sample_service.users) == 3 assert not user_can_be_archived(active_user)
def test_dao_archive_user(sample_user, sample_organisation, fake_uuid): sample_user.current_session_id = fake_uuid # create 2 services for sample_user to be a member of (each with another active user) service_1 = create_service(service_name="Service 1") service_1_user = create_user(email="*****@*****.**") service_1.users = [sample_user, service_1_user] create_permissions(sample_user, service_1, "manage_settings") create_permissions(service_1_user, service_1, "manage_settings", "view_activity") service_2 = create_service(service_name="Service 2") service_2_user = create_user(email="*****@*****.**") service_2.users = [sample_user, service_2_user] create_permissions(sample_user, service_2, "view_activity") create_permissions(service_2_user, service_2, "manage_settings") # make sample_user an org member sample_organisation.users = [sample_user] # give sample_user folder permissions for a service_1 folder folder = create_template_folder(service_1) service_user = dao_get_service_user(sample_user.id, service_1.id) service_user.folders = [folder] dao_update_service_user(service_user) dao_archive_user(sample_user) assert sample_user.get_permissions() == {} assert sample_user.services == [] assert sample_user.organisations == [] assert sample_user.auth_type == EMAIL_AUTH_TYPE assert sample_user.email_address == "*****@*****.**" assert sample_user.mobile_number is None assert sample_user.current_session_id == uuid.UUID( "00000000-0000-0000-0000-000000000000") assert sample_user.state == "inactive" assert not sample_user.check_password("password")
def test_user_can_be_archived_if_the_other_service_members_have_the_manage_settings_permission( sample_service, ): user_1 = create_user(email="*****@*****.**") user_2 = create_user(email="*****@*****.**") user_3 = create_user(email="*****@*****.**") sample_service.users = [user_1, user_2, user_3] create_permissions(user_1, sample_service, "manage_settings") create_permissions(user_2, sample_service, "manage_settings", "view_activity") create_permissions( user_3, sample_service, "manage_settings", "send_emails", "send_letters", "send_texts", ) assert len(sample_service.users) == 3 assert user_can_be_archived(user_1)