diff options
author | haseeb <haseebeqx@yahoo.com> | 2017-08-17 20:14:37 +0530 |
---|---|---|
committer | haseeb <haseebeqx@yahoo.com> | 2017-08-17 20:14:37 +0530 |
commit | d368b2d20230c986dbfc813312bbf25970208aaf (patch) | |
tree | 509b83c6a940d91d73c3111afbfd96d289849ada | |
parent | 59d7ffad06828435e31c7ea09c97c4b79909ef77 (diff) | |
download | gitlab-ce-d368b2d20230c986dbfc813312bbf25970208aaf.tar.gz |
moved merge parms to service
3 files changed, 17 insertions, 33 deletions
diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb index 04c14806544..8893a514207 100644 --- a/app/controllers/projects/issues_controller.rb +++ b/app/controllers/projects/issues_controller.rb @@ -212,7 +212,7 @@ class Projects::IssuesController < Projects::ApplicationController end def create_merge_request - result = ::MergeRequests::CreateFromIssueService.new(project, current_user, merge_request_params).execute + result = ::MergeRequests::CreateFromIssueService.new(project, current_user, issue_iid: issue.iid).execute if result[:status] == :success render json: MergeRequestCreateSerializer.new.represent(result[:merge_request]) @@ -287,14 +287,4 @@ class Projects::IssuesController < Projects::ApplicationController redirect_to new_user_session_path, notice: notice end - - private - - def merge_request_params - { - issue_iid: issue.iid, - label_ids: issue.label_ids, - milestone_id: issue.milestone_id - } - end end diff --git a/app/services/merge_requests/create_from_issue_service.rb b/app/services/merge_requests/create_from_issue_service.rb index 738cedbaed7..6bc70d8175e 100644 --- a/app/services/merge_requests/create_from_issue_service.rb +++ b/app/services/merge_requests/create_from_issue_service.rb @@ -3,6 +3,8 @@ module MergeRequests def execute return error('Invalid issue iid') unless issue_iid.present? && issue.present? + params[:label_ids] = issue.label_ids if issue.label_ids.any? + result = CreateBranchService.new(project, current_user).execute(branch_name, ref) return result if result[:status] == :error @@ -43,7 +45,8 @@ module MergeRequests { source_project_id: project.id, source_branch: branch_name, - target_project_id: project.id + target_project_id: project.id, + milestone_id: issue.milestone_id } end diff --git a/spec/services/merge_requests/create_from_issue_service_spec.rb b/spec/services/merge_requests/create_from_issue_service_spec.rb index bdc53c7e64b..b3c0e6518ef 100644 --- a/spec/services/merge_requests/create_from_issue_service_spec.rb +++ b/spec/services/merge_requests/create_from_issue_service_spec.rb @@ -3,22 +3,11 @@ require 'spec_helper' describe MergeRequests::CreateFromIssueService do let(:project) { create(:project, :repository) } let(:user) { create(:user) } - let(:issue) { create(:issue, project: project) } - let(:milestone) { create(:milestone, project: project) } - let(:labels) { create_pair(:label, project: project) } - + let(:label_ids) { create_pair(:label, project: project).map(&:id) } + let(:milestone_id) { create(:milestone, project: project).id } + let(:issue) { create(:issue, project: project, milestone_id: milestone_id) } + subject(:service) { described_class.new(project, user, issue_iid: issue.iid) } - subject(:service2) do - described_class.new( - project, - user, - { - issue_iid: issue.iid, - milestone_id: milestone.id, - label_ids: labels.map(&:id) - } - ) - end before do project.add_developer(user) @@ -38,16 +27,18 @@ describe MergeRequests::CreateFromIssueService do described_class.new(project, user, issue_iid: -1).execute end - it "can inherit labels" do - result = service2.execute + it "inherits labels" do + issue.assign_attributes(label_ids: label_ids) - expect(result[:merge_request].label_ids).to eq(labels.map(&:id)) + result = service.execute + + expect(result[:merge_request].label_ids).to eq(label_ids) end - it "can inherit milestones" do - result = service2.execute + it "inherits milestones" do + result = service.execute - expect(result[:merge_request].milestone_id).to eq(milestone.id) + expect(result[:merge_request].milestone_id).to eq(milestone_id) end it 'delegates the branch creation to CreateBranchService' do |