From a754d5807463615eaa78761d80917ad53ca4c530 Mon Sep 17 00:00:00 2001 From: AkashSrivastava Date: Tue, 20 Nov 2018 11:35:43 +0530 Subject: [PATCH 1/2] Deleting a project milestone --- lib/gitlab/client/milestones.rb | 12 ++++++++++++ spec/gitlab/client/milestones_spec.rb | 11 +++++++++++ 2 files changed, 23 insertions(+) diff --git a/lib/gitlab/client/milestones.rb b/lib/gitlab/client/milestones.rb index 5623e9288..585fc8e02 100644 --- a/lib/gitlab/client/milestones.rb +++ b/lib/gitlab/client/milestones.rb @@ -90,5 +90,17 @@ def create_milestone(project, title, options = {}) def edit_milestone(project, id, options = {}) put("/projects/#{url_encode project}/milestones/#{id}", body: options) end + + # Delete a project milestone. + # + # @example + # Gitlab.delete_milestone(5, 2) + # + # @param [Integer, String] project The ID or name of a project. + # @param [Integer] id The ID of a milestone. + # @return [void] This API call returns an empty response body. + def delete_milestone(project, id) + delete("/projects/#{url_encode project}/milestones/#{id}") + end end end diff --git a/spec/gitlab/client/milestones_spec.rb b/spec/gitlab/client/milestones_spec.rb index c246f533b..2d3b8cf7c 100644 --- a/spec/gitlab/client/milestones_spec.rb +++ b/spec/gitlab/client/milestones_spec.rb @@ -97,4 +97,15 @@ expect(@milestone.project_id).to eq(3) end end + + describe '.delete_milestone' do + before do + stub_delete('/projects/3/milestones/33', 'empty') + @milestone = Gitlab.delete_milestone(3, 33) + end + + it 'gets the correct resource' do + expect(a_delete('/projects/3/milestones/33')).to have_been_made + end + end end From f2e17591f03de5c9b4e4c9309e69e5a09763be1c Mon Sep 17 00:00:00 2001 From: AkashSrivastava Date: Tue, 20 Nov 2018 11:49:22 +0530 Subject: [PATCH 2/2] Change in return response for deleting milestone --- lib/gitlab/client/milestones.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/gitlab/client/milestones.rb b/lib/gitlab/client/milestones.rb index 585fc8e02..cc2872fb0 100644 --- a/lib/gitlab/client/milestones.rb +++ b/lib/gitlab/client/milestones.rb @@ -98,7 +98,7 @@ def edit_milestone(project, id, options = {}) # # @param [Integer, String] project The ID or name of a project. # @param [Integer] id The ID of a milestone. - # @return [void] This API call returns an empty response body. + # @return [nil] This API call returns an empty response body. def delete_milestone(project, id) delete("/projects/#{url_encode project}/milestones/#{id}") end