summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2018-07-10 08:44:20 +0000
committerRémy Coutable <remy@rymai.me>2018-07-10 08:44:20 +0000
commitf5f5a4e6775e4b8dd4cfeea45e026918f7b2a4d3 (patch)
treee4572824ca07a22f476e7bc30fff412309561569
parente6b91cc357364b14a367b60b4c229d7e0785114d (diff)
parent38d407d7a7fd07888cbfda26360cd0a1c4972ec5 (diff)
downloadgitlab-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.yml5
-rw-r--r--lib/api/projects.rb3
-rw-r--r--spec/requests/api/projects_spec.rb14
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