summaryrefslogtreecommitdiff
path: root/spec/controllers
diff options
context:
space:
mode:
authorZeger-Jan van de Weg <zegerjan@gitlab.com>2016-02-26 09:55:43 +0100
committerZeger-Jan van de Weg <zegerjan@gitlab.com>2016-03-19 21:23:03 +0100
commit212e83bab3f1f9055f1321c3e934b4f4659250bf (patch)
treef3b67cf54ba43ca7d008c470beadfd12df3cfbb2 /spec/controllers
parent3f22a92f4a561543c2249786b695d0c65120455b (diff)
downloadgitlab-ce-212e83bab3f1f9055f1321c3e934b4f4659250bf.tar.gz
Soft delete issuables
Diffstat (limited to 'spec/controllers')
-rw-r--r--spec/controllers/projects/issues_controller_spec.rb28
-rw-r--r--spec/controllers/projects/merge_requests_controller_spec.rb21
2 files changed, 45 insertions, 4 deletions
diff --git a/spec/controllers/projects/issues_controller_spec.rb b/spec/controllers/projects/issues_controller_spec.rb
index 2cd81231144..62643a755b7 100644
--- a/spec/controllers/projects/issues_controller_spec.rb
+++ b/spec/controllers/projects/issues_controller_spec.rb
@@ -1,11 +1,11 @@
require('spec_helper')
describe Projects::IssuesController do
- describe "GET #index" do
- let(:project) { create(:project) }
- let(:user) { create(:user) }
- let(:issue) { create(:issue, project: project) }
+ let(:project) { create(:project) }
+ let(:user) { create(:user) }
+ let(:issue) { create(:issue, project: project) }
+ describe "GET #index" do
before do
sign_in(user)
project.team << [user, :developer]
@@ -186,4 +186,24 @@ describe Projects::IssuesController do
end
end
end
+
+ describe "DELETE #destroy" do
+ it "rejects a developer to destory an issue" do
+ delete :destroy, namespace_id: project.namespace.path, project_id: project.path, id: issue.iid
+ expect(response.status).to eq 404
+ end
+
+ context "user is an admin" do
+ before do
+ user.admin = true
+ user.save
+ end
+
+ it "lets an admin delete an issue" do
+ delete :destroy, namespace_id: project.namespace.path, project_id: project.path, id: issue.iid
+
+ expect(response.status).to eq 302
+ end
+ end
+ end
end
diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb
index e82fe26c7a6..6c1aa8368ea 100644
--- a/spec/controllers/projects/merge_requests_controller_spec.rb
+++ b/spec/controllers/projects/merge_requests_controller_spec.rb
@@ -157,6 +157,27 @@ describe Projects::MergeRequestsController do
end
end
+ describe "DELETE #destroy" do
+ it "lets mere mortals not acces this endpoint" do
+ delete :destroy, namespace_id: project.namespace.path, project_id: project.path, id: merge_request.iid
+
+ expect(response.status).to eq 404
+ end
+
+ context "user is an admin" do
+ before do
+ user.admin = true
+ user.save
+ end
+
+ it "lets an admin delete an issue" do
+ delete :destroy, namespace_id: project.namespace.path, project_id: project.path, id: merge_request.iid
+
+ expect(response.status).to be 302
+ end
+ end
+ end
+
describe 'GET diffs' do
def go(format: 'html')
get :diffs,