mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-19 05:58:53 -04:00
add separate activate user endpoint
This commit is contained in:
@@ -91,6 +91,17 @@ def update_user_attribute(user_id):
|
|||||||
return jsonify(data=user_schema.dump(user_to_update).data), 200
|
return jsonify(data=user_schema.dump(user_to_update).data), 200
|
||||||
|
|
||||||
|
|
||||||
|
@user_blueprint.route('/<uuid:user_id>/activate', methods=['POST'])
|
||||||
|
def activate_user(user_id):
|
||||||
|
user = get_user_by_id(user_id=user_id)
|
||||||
|
if user.state == 'active':
|
||||||
|
raise InvalidRequest('User already active', status_code=400)
|
||||||
|
|
||||||
|
user.state = 'active'
|
||||||
|
save_model_user(user)
|
||||||
|
return jsonify(data=user_schema.dump(user).data), 200
|
||||||
|
|
||||||
|
|
||||||
@user_blueprint.route('/<uuid:user_id>/reset-failed-login-count', methods=['POST'])
|
@user_blueprint.route('/<uuid:user_id>/reset-failed-login-count', methods=['POST'])
|
||||||
def user_reset_failed_login_count(user_id):
|
def user_reset_failed_login_count(user_id):
|
||||||
user_to_update = get_user_by_id(user_id=user_id)
|
user_to_update = get_user_by_id(user_id=user_id)
|
||||||
|
|||||||
@@ -558,3 +558,19 @@ def test_update_user_auth_type(admin_request, sample_user):
|
|||||||
|
|
||||||
assert resp['data']['id'] == str(sample_user.id)
|
assert resp['data']['id'] == str(sample_user.id)
|
||||||
assert resp['data']['auth_type'] == 'email_auth'
|
assert resp['data']['auth_type'] == 'email_auth'
|
||||||
|
|
||||||
|
|
||||||
|
def test_activate_user(admin_request, sample_user):
|
||||||
|
sample_user.state = 'pending'
|
||||||
|
|
||||||
|
resp = admin_request.post('user.activate_user', user_id=sample_user.id)
|
||||||
|
|
||||||
|
assert resp['data']['id'] == str(sample_user.id)
|
||||||
|
assert resp['data']['state'] == 'active'
|
||||||
|
assert sample_user.state == 'active'
|
||||||
|
|
||||||
|
|
||||||
|
def test_activate_user_fails_if_already_active(admin_request, sample_user):
|
||||||
|
resp = admin_request.post('user.activate_user', user_id=sample_user.id, _expected_status=400)
|
||||||
|
assert resp['message'] == 'User already active'
|
||||||
|
assert sample_user.state == 'active'
|
||||||
|
|||||||
Reference in New Issue
Block a user