diff options
author | Robert Schilling <rschilling@student.tugraz.at> | 2015-11-21 22:34:53 +0100 |
---|---|---|
committer | Robert Schilling <rschilling@student.tugraz.at> | 2015-11-21 22:34:53 +0100 |
commit | 04a3d27eaba0312d99e8d88a3a9ee4b5c83ecce1 (patch) | |
tree | 76edf025912fa34c1942f98deefb406148953842 /spec/requests/api | |
parent | 3ea05c5b5b253de33d8bf8d615c66e2935b940ef (diff) | |
download | gitlab-ce-04a3d27eaba0312d99e8d88a3a9ee4b5c83ecce1.tar.gz |
Allow editing a release in API via PUT method
Diffstat (limited to 'spec/requests/api')
-rw-r--r-- | spec/requests/api/tags_spec.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/requests/api/tags_spec.rb b/spec/requests/api/tags_spec.rb index 0a456fc3b5d..17f2643fd45 100644 --- a/spec/requests/api/tags_spec.rb +++ b/spec/requests/api/tags_spec.rb @@ -155,4 +155,42 @@ describe API::API, api: true do end end end + + describe 'PUT id/repository/tags/:tag_name/release' do + let(:tag_name) { project.repository.tag_names.first } + let(:description) { 'Awesome release!' } + let(:new_description) { 'The best release!' } + + context 'on tag with existing release' do + before do + release = project.releases.find_or_initialize_by(tag: tag_name) + release.update_attributes(description: description) + end + + it 'should update the release description' do + put api("/projects/#{project.id}/repository/tags/#{tag_name}/release", user), + description: new_description + + expect(response.status).to eq(200) + expect(json_response['tag_name']).to eq(tag_name) + expect(json_response['description']).to eq(new_description) + end + end + + it 'should return 404 if the tag does not exist' do + put api("/projects/#{project.id}/repository/tags/foobar/release", user), + description: new_description + + expect(response.status).to eq(404) + expect(json_response['message']).to eq('Tag does not exist') + end + + it 'should return 404 if the release does not exist' do + put api("/projects/#{project.id}/repository/tags/#{tag_name}/release", user), + description: new_description + + expect(response.status).to eq(404) + expect(json_response['message']).to eq('Release does not exist') + end + end end |