diff options
author | Zeger-Jan van de Weg <zegerjan@gitlab.com> | 2016-03-18 19:11:25 +0100 |
---|---|---|
committer | Zeger-Jan van de Weg <zegerjan@gitlab.com> | 2016-03-19 21:24:05 +0100 |
commit | 1d7782281693a94b2d8efcdd9d05f81fefae75f9 (patch) | |
tree | c145ed956047668a69043ab1cc6946f307d1e996 /spec/requests/api/merge_requests_spec.rb | |
parent | 7342a4566cc2eef0e434f3aea0eac48674baaaf1 (diff) | |
download | gitlab-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.rb | 22 |
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 |