Commit 016dadc8 authored by Rémy Coutable's avatar Rémy Coutable

Merge branch '32821-better-error-message-add-invalid-user-to-project' into 'master'

Resolve "Improve Error Message When Adding Invalid User to Project via API"

Closes #32821

See merge request gitlab-org/gitlab-ce!20885
parents 0a40035c 5bab7895
---
title: Improve error message when adding invalid user to a project
merge_request: 20885
author: Jacopo Beschi @jacopo-beschi
type: added
...@@ -75,7 +75,10 @@ module API ...@@ -75,7 +75,10 @@ module API
member = source.members.find_by(user_id: params[:user_id]) member = source.members.find_by(user_id: params[:user_id])
conflict!('Member already exists') if member conflict!('Member already exists') if member
member = source.add_user(params[:user_id], params[:access_level], current_user: current_user, expires_at: params[:expires_at]) user = User.find_by_id(params[:user_id])
not_found!('User') unless user
member = source.add_user(user, params[:access_level], current_user: current_user, expires_at: params[:expires_at])
if !member if !member
not_allowed! # This currently can only be reached in EE not_allowed! # This currently can only be reached in EE
......
...@@ -231,6 +231,14 @@ describe API::Members do ...@@ -231,6 +231,14 @@ describe API::Members do
expect(response).to have_gitlab_http_status(409) expect(response).to have_gitlab_http_status(409)
end end
it 'returns 404 when the user_id is not valid' do
post api("/#{source_type.pluralize}/#{source.id}/members", maintainer),
user_id: 0, access_level: Member::MAINTAINER
expect(response).to have_gitlab_http_status(404)
expect(json_response['message']).to eq('404 User Not Found')
end
it 'returns 400 when user_id is not given' do it 'returns 400 when user_id is not given' do
post api("/#{source_type.pluralize}/#{source.id}/members", maintainer), post api("/#{source_type.pluralize}/#{source.id}/members", maintainer),
access_level: Member::MAINTAINER access_level: Member::MAINTAINER
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment