diff options
author | Zeger-Jan van de Weg <zegerjan@gitlab.com> | 2016-03-24 13:36:45 +0100 |
---|---|---|
committer | Zeger-Jan van de Weg <zegerjan@gitlab.com> | 2016-03-24 18:58:42 +0100 |
commit | 3549d7c1d402c10c567c239b006132c45b0c0d1e (patch) | |
tree | 40bd6934eb753b8adf3dfaaa57957cdf932dfe1e /spec | |
parent | 2c5bcf2e1b5b5574238555657296a8831b989d1e (diff) | |
download | gitlab-ce-3549d7c1d402c10c567c239b006132c45b0c0d1e.tar.gz |
PUT becomes POST on archiving endpoints
Also the specs have a minor improvement. Mainly the access right spec.
Changes are reflected in the docs
Diffstat (limited to 'spec')
-rw-r--r-- | spec/requests/api/projects_spec.rb | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb index 0a5b50e2884..be2034e0f39 100644 --- a/spec/requests/api/projects_spec.rb +++ b/spec/requests/api/projects_spec.rb @@ -948,20 +948,14 @@ describe API::API, api: true do end end - describe 'PUT /projects/:id/archive' do + describe 'POST /projects/:id/archive' do context 'on an unarchived project' do it 'archives the project' do - put api("/projects/#{project.id}/archive", user) + post api("/projects/#{project.id}/archive", user) - expect(response.status).to eq(200) + expect(response.status).to eq(201) expect(json_response['archived']).to be_truthy end - - it 'rejects archivation on other users' do - put api("/projects/#{project.id}/archive", user3) - - expect(response.status).to eq(404) - end end context 'on an archived project' do @@ -970,34 +964,34 @@ describe API::API, api: true do end it 'remains archived' do - put api("/projects/#{project.id}/archive", user) + post api("/projects/#{project.id}/archive", user) - expect(response.status).to eq(200) + expect(response.status).to eq(201) expect(json_response['archived']).to be_truthy end + end + + context 'user without archiving rights to the project' do + before do + project.team << [user3, :developer] + end - it 'rejects archivation on other users' do - put api("/projects/#{project.id}/archive", user3) + it 'rejects the action' do + post api("/projects/#{project.id}/archive", user3) - expect(response.status).to eq(404) + expect(response.status).to eq(403) end end end - describe 'PUT /projects/:id/unarchive' do + describe 'POST /projects/:id/unarchive' do context 'on an unarchived project' do it 'remains unarchived' do - put api("/projects/#{project.id}/unarchive", user) + post api("/projects/#{project.id}/unarchive", user) - expect(response.status).to eq(200) + expect(response.status).to eq(201) expect(json_response['archived']).to be_falsey end - - it 'rejects archivation on other users' do - put api("/projects/#{project.id}/unarchive", user3) - - expect(response.status).to eq(404) - end end context 'on an archived project' do @@ -1005,17 +999,23 @@ describe API::API, api: true do project.archive! end - it 'remains archived' do - put api("/projects/#{project.id}/unarchive", user) + it 'unarchives the project' do + post api("/projects/#{project.id}/unarchive", user) - expect(response.status).to eq(200) + expect(response.status).to eq(201) expect(json_response['archived']).to be_falsey end + end - it 'rejects archivation on other users' do - put api("/projects/#{project.id}/archive", user3) + context 'user without archiving rights to the project' do + before do + project.team << [user3, :developer] + end - expect(response.status).to eq(404) + it 'rejects the action' do + post api("/projects/#{project.id}/unarchive", user3) + + expect(response.status).to eq(403) end end end |