def test_removing_a_user_from_a_service_deletes_their_permissions( sample_user, sample_service): assert len(Permission.query.all()) == 8 dao_remove_user_from_service(sample_service, sample_user) assert Permission.query.all() == []
def remove_user_from_service(service_id, user_id): service = dao_fetch_service_by_id(service_id) user = get_user_by_id(user_id=user_id) if user not in service.users: error = 'User not found' raise InvalidRequest(error, status_code=404) elif len(service.users) == 1: error = 'You cannot remove the only user for a service' raise InvalidRequest(error, status_code=400) dao_remove_user_from_service(service, user) return jsonify({}), 204
def test_should_remove_user_from_service(sample_user): service = Service( name="service_name", email_from="email_from", message_limit=1000, restricted=False, created_by=sample_user ) dao_create_service(service, sample_user) new_user = User( name="Test User", email_address="*****@*****.**", password="******", mobile_number="+447700900986", ) save_model_user(new_user) dao_add_user_to_service(service, new_user) assert new_user in Service.query.first().users dao_remove_user_from_service(service, new_user) assert new_user not in Service.query.first().users
def test_should_remove_user_from_service(notify_db_session): user = create_user() service = Service(name="service_name", email_from="email_from", message_limit=1000, restricted=False, created_by=user) dao_create_service(service, user) new_user = User(name='Test User', email_address='*****@*****.**', password='******', mobile_number='+16502532222') save_model_user(new_user) dao_add_user_to_service(service, new_user) assert new_user in Service.query.first().users dao_remove_user_from_service(service, new_user) assert new_user not in Service.query.first().users
def test_removing_a_user_from_a_service_deletes_their_folder_permissions_for_that_service(sample_user, sample_service): tf1 = create_template_folder(sample_service) tf2 = create_template_folder(sample_service) service_2 = create_service(sample_user, service_name='other service') tf3 = create_template_folder(service_2) service_user = dao_get_service_user(sample_user.id, sample_service.id) service_user.folders = [tf1, tf2] dao_update_service_user(service_user) service_2_user = dao_get_service_user(sample_user.id, service_2.id) service_2_user.folders = [tf3] dao_update_service_user(service_2_user) dao_remove_user_from_service(sample_service, sample_user) user_folder_permission = db.session.query(user_folder_permissions).one() assert user_folder_permission.user_id == service_2_user.user_id assert user_folder_permission.service_id == service_2_user.service_id assert user_folder_permission.template_folder_id == tf3.id