summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorZeger-Jan van de Weg <zegerjan@gitlab.com>2016-03-24 13:36:45 +0100
committerZeger-Jan van de Weg <zegerjan@gitlab.com>2016-03-24 18:58:42 +0100
commit3549d7c1d402c10c567c239b006132c45b0c0d1e (patch)
tree40bd6934eb753b8adf3dfaaa57957cdf932dfe1e /spec
parent2c5bcf2e1b5b5574238555657296a8831b989d1e (diff)
downloadgitlab-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.rb58
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