diff options
author | Rémy Coutable <remy@rymai.me> | 2018-07-10 08:44:20 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2018-07-10 08:44:20 +0000 |
commit | f5f5a4e6775e4b8dd4cfeea45e026918f7b2a4d3 (patch) | |
tree | e4572824ca07a22f476e7bc30fff412309561569 | |
parent | e6b91cc357364b14a367b60b4c229d7e0785114d (diff) | |
parent | 38d407d7a7fd07888cbfda26360cd0a1c4972ec5 (diff) | |
download | gitlab-ce-f5f5a4e6775e4b8dd4cfeea45e026918f7b2a4d3.tar.gz |
Merge branch '48537-update-avatar-only-via-api' into 'master'
Resolve "PUT /projects/:id : unable to update avatar alone"
Closes #48537
See merge request gitlab-org/gitlab-ce!20505
-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 |