diff options
author | Jamie Schembri <jamie@schembri.me> | 2018-07-09 17:44:09 +0200 |
---|---|---|
committer | Jamie Schembri <jamie@schembri.me> | 2018-07-09 19:03:44 +0200 |
commit | 38d407d7a7fd07888cbfda26360cd0a1c4972ec5 (patch) | |
tree | 8bfdf191403241d215cea6168a87fbdba2e20827 | |
parent | a0935bf267b18c14a120809acd56a794c73121e3 (diff) | |
download | gitlab-ce-38d407d7a7fd07888cbfda26360cd0a1c4972ec5.tar.gz |
Fix #48537 - Update avatar only via the projects API
-rw-r--r-- | changelogs/unreleased/48537-update-avatar-only-via-api.yml | 5 | ||||
-rw-r--r-- | lib/api/projects.rb | 3 | ||||
-rw-r--r-- | spec/requests/api/projects_spec.rb | 14 |
3 files changed, 21 insertions, 1 deletions
diff --git a/changelogs/unreleased/48537-update-avatar-only-via-api.yml b/changelogs/unreleased/48537-update-avatar-only-via-api.yml new file mode 100644 index 00000000000..9b3ab946cc1 --- /dev/null +++ b/changelogs/unreleased/48537-update-avatar-only-via-api.yml @@ -0,0 +1,5 @@ +--- +title: Allow updating a project's avatar without other params +merge_request: +author: Jamie Schembri +type: fixed diff --git a/lib/api/projects.rb b/lib/api/projects.rb index b83da00502d..8273abe48c9 100644 --- a/lib/api/projects.rb +++ b/lib/api/projects.rb @@ -260,7 +260,8 @@ module API :snippets_enabled, :tag_list, :visibility, - :wiki_enabled + :wiki_enabled, + :avatar ] optional :name, type: String, desc: 'The name of the project' optional :default_branch, type: String, desc: 'The default branch of the project' diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb index de540ba7a10..15da81b57db 100644 --- a/spec/requests/api/projects_spec.rb +++ b/spec/requests/api/projects_spec.rb @@ -1526,6 +1526,20 @@ describe API::Projects do expect(response).to have_gitlab_http_status(400) end + + it 'updates avatar' do + project_param = { + avatar: fixture_file_upload('spec/fixtures/banana_sample.gif', + 'image/gif') + } + + put api("/projects/#{project3.id}", user), project_param + + expect(response).to have_gitlab_http_status(200) + expect(json_response['avatar_url']).to eq('http://localhost/uploads/'\ + '-/system/project/avatar/'\ + "#{project3.id}/banana_sample.gif") + end end context 'when authenticated as project master' do |