Commit 4416be54a90f9c7ecbf40e5bd6ca9b5ff1d8d26a

Authored by Dmitriy Zaporozhets
1 parent c8e7d6df

API: specs for remove project

Showing 1 changed file with 38 additions and 0 deletions   Show diff stats
spec/requests/api/projects_spec.rb
@@ -730,4 +730,42 @@ describe API::API do @@ -730,4 +730,42 @@ describe API::API do
730 end 730 end
731 end 731 end
732 end 732 end
  733 +
  734 + describe "DELETE /projects/:id" do
  735 + context "when authenticated as user" do
  736 + it "should remove project" do
  737 + delete api("/projects/#{project.id}", user)
  738 + response.status.should == 200
  739 + end
  740 +
  741 + it "should not remove a project if not an owner" do
  742 + user3 = create(:user)
  743 + project.team << [user3, :developer]
  744 + delete api("/projects/#{project.id}", user3)
  745 + response.status.should == 403
  746 + end
  747 +
  748 + it "should not remove a non existing project" do
  749 + delete api("/projects/1328", user)
  750 + response.status.should == 404
  751 + end
  752 +
  753 + it "should not remove a project not attached to user" do
  754 + delete api("/projects/#{project.id}", user2)
  755 + response.status.should == 404
  756 + end
  757 + end
  758 +
  759 + context "when authenticated as admin" do
  760 + it "should remove any existing project" do
  761 + delete api("/projects/#{project.id}", admin)
  762 + response.status.should == 200
  763 + end
  764 +
  765 + it "should not remove a non existing project" do
  766 + delete api("/projects/1328", admin)
  767 + response.status.should == 404
  768 + end
  769 + end
  770 + end
733 end 771 end