Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-10-09 15:41:54 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-10-09 15:41:54 +0400
commit4416be54a90f9c7ecbf40e5bd6ca9b5ff1d8d26a (patch)
treee457bee95e1eaa5aba6788f72551b68ff2dfce63 /spec/requests
parentc8e7d6df794fe845299fab07827aa35269e2c2bf (diff)
API: specs for remove project
Diffstat (limited to 'spec/requests')
-rw-r--r--spec/requests/api/projects_spec.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb
index b8c0b6f33ed..bf4a1749418 100644
--- a/spec/requests/api/projects_spec.rb
+++ b/spec/requests/api/projects_spec.rb
@@ -730,4 +730,42 @@ describe API::API do
end
end
end
+
+ describe "DELETE /projects/:id" do
+ context "when authenticated as user" do
+ it "should remove project" do
+ delete api("/projects/#{project.id}", user)
+ response.status.should == 200
+ end
+
+ it "should not remove a project if not an owner" do
+ user3 = create(:user)
+ project.team << [user3, :developer]
+ delete api("/projects/#{project.id}", user3)
+ response.status.should == 403
+ end
+
+ it "should not remove a non existing project" do
+ delete api("/projects/1328", user)
+ response.status.should == 404
+ end
+
+ it "should not remove a project not attached to user" do
+ delete api("/projects/#{project.id}", user2)
+ response.status.should == 404
+ end
+ end
+
+ context "when authenticated as admin" do
+ it "should remove any existing project" do
+ delete api("/projects/#{project.id}", admin)
+ response.status.should == 200
+ end
+
+ it "should not remove a non existing project" do
+ delete api("/projects/1328", admin)
+ response.status.should == 404
+ end
+ end
+ end
end