summaryrefslogtreecommitdiff
path: root/spec/requests/api/merge_requests_spec.rb
diff options
context:
space:
mode:
authorZeger-Jan van de Weg <zegerjan@gitlab.com>2016-03-18 19:11:25 +0100
committerZeger-Jan van de Weg <zegerjan@gitlab.com>2016-03-19 21:24:05 +0100
commit1d7782281693a94b2d8efcdd9d05f81fefae75f9 (patch)
treec145ed956047668a69043ab1cc6946f307d1e996 /spec/requests/api/merge_requests_spec.rb
parent7342a4566cc2eef0e434f3aea0eac48674baaaf1 (diff)
downloadgitlab-ce-1d7782281693a94b2d8efcdd9d05f81fefae75f9.tar.gz
minor improvements and fixed specs
Diffstat (limited to 'spec/requests/api/merge_requests_spec.rb')
-rw-r--r--spec/requests/api/merge_requests_spec.rb22
1 files changed, 13 insertions, 9 deletions
diff --git a/spec/requests/api/merge_requests_spec.rb b/spec/requests/api/merge_requests_spec.rb
index 5a0bc4ff076..43e6a59d1ee 100644
--- a/spec/requests/api/merge_requests_spec.rb
+++ b/spec/requests/api/merge_requests_spec.rb
@@ -3,8 +3,10 @@ require "spec_helper"
describe API::API, api: true do
include ApiHelpers
let(:base_time) { Time.now }
- let(:user) { create(:user) }
- let!(:project) {create(:project, creator_id: user.id, namespace: user.namespace) }
+ let(:user) { create(:user) }
+ let(:admin) { create(:user, :admin) }
+ let(:non_member) { create(:user) }
+ let!(:project) { create(:project, creator_id: user.id, namespace: user.namespace) }
let!(:merge_request) { create(:merge_request, :simple, author: user, assignee: user, source_project: project, target_project: project, title: "Test", created_at: base_time) }
let!(:merge_request_closed) { create(:merge_request, state: "closed", author: user, assignee: user, source_project: project, target_project: project, title: "Closed test", created_at: base_time + 1.second) }
let!(:merge_request_merged) { create(:merge_request, state: "merged", author: user, assignee: user, source_project: project, target_project: project, title: "Merged test", created_at: base_time + 2.seconds) }
@@ -316,21 +318,23 @@ describe API::API, api: true do
end
describe "DELETE /projects/:id/merge_request/:merge_request_id" do
- it "rejects non admin users from deletions" do
+ it "owners can destroy" do
delete api("/projects/#{project.id}/merge_requests/#{merge_request.id}", user)
- expect(response.status).to eq(403)
+ expect(response.status).to eq(200)
end
- it "let's Admins delete a merge request" do
- user.admin = true
- user.save
-
- delete api("/projects/#{project.id}/merge_requests/#{merge_request.id}", user)
+ it "let's Admins and owners delete a merge request" do
+ delete api("/projects/#{project.id}/merge_requests/#{merge_request.id}", admin)
expect(response.status).to eq(200)
expect(json_response['id']).to eq merge_request.id
end
+
+ it "rejects removal from other users" do
+ delete api("/projects/#{project.id}/merge_requests/#{merge_request.id}", non_member)
+ expect(response.status).to eq(404)
+ end
end
describe "PUT /projects/:id/merge_requests/:merge_request_id to close MR" do