Close todos when accepting a MR via the API.
This commit is contained in:
parent
923a1f7ace
commit
6d49fcf439
|
@ -20,6 +20,7 @@ v 8.13.0 (unreleased)
|
|||
- Optimize GitHub importing for speed and memory
|
||||
- API: expose pipeline data in builds API (!6502, Guilherme Salazar)
|
||||
- Fix broken repository 500 errors in project list
|
||||
- Close todos when accepting merge requests via the API !6486 (tonygambone)
|
||||
|
||||
v 8.12.2 (unreleased)
|
||||
- Added University content to doc/university
|
||||
|
|
|
@ -308,8 +308,6 @@ class Projects::MergeRequestsController < Projects::ApplicationController
|
|||
return
|
||||
end
|
||||
|
||||
TodoService.new.merge_merge_request(merge_request, current_user)
|
||||
|
||||
@merge_request.update(merge_error: nil)
|
||||
|
||||
if params[:merge_when_build_succeeds].present?
|
||||
|
|
|
@ -7,6 +7,7 @@ module MergeRequests
|
|||
class PostMergeService < MergeRequests::BaseService
|
||||
def execute(merge_request)
|
||||
close_issues(merge_request)
|
||||
todo_service.merge_merge_request(merge_request, current_user)
|
||||
merge_request.mark_as_merged
|
||||
create_merge_event(merge_request, current_user)
|
||||
create_note(merge_request)
|
||||
|
|
|
@ -38,6 +38,30 @@ describe MergeRequests::MergeService, services: true do
|
|||
end
|
||||
end
|
||||
|
||||
context 'closes related todos' do
|
||||
let(:merge_request) { create(:merge_request, assignee: user, author: user) }
|
||||
let(:project) { merge_request.project }
|
||||
let(:service) { MergeRequests::MergeService.new(project, user, commit_message: 'Awesome message') }
|
||||
let!(:todo) do
|
||||
create(:todo, :assigned,
|
||||
project: project,
|
||||
author: user,
|
||||
user: user,
|
||||
target: merge_request)
|
||||
end
|
||||
|
||||
before do
|
||||
allow(service).to receive(:execute_hooks)
|
||||
|
||||
perform_enqueued_jobs do
|
||||
service.execute(merge_request)
|
||||
todo.reload
|
||||
end
|
||||
end
|
||||
|
||||
it { expect(todo).to be_done }
|
||||
end
|
||||
|
||||
context 'remove source branch by author' do
|
||||
let(:service) do
|
||||
merge_request.merge_params['force_remove_source_branch'] = '1'
|
||||
|
|
|
@ -79,8 +79,8 @@ describe MergeRequests::RefreshService, services: true do
|
|||
it { expect(@merge_request).to be_merged }
|
||||
it { expect(@fork_merge_request).to be_merged }
|
||||
it { expect(@fork_merge_request.notes.last.note).to include('changed to merged') }
|
||||
it { expect(@build_failed_todo).to be_pending }
|
||||
it { expect(@fork_build_failed_todo).to be_pending }
|
||||
it { expect(@build_failed_todo).to be_done }
|
||||
it { expect(@fork_build_failed_todo).to be_done }
|
||||
end
|
||||
|
||||
context 'manual merge of source branch' do
|
||||
|
@ -99,8 +99,8 @@ describe MergeRequests::RefreshService, services: true do
|
|||
it { expect(@merge_request.diffs.size).to be > 0 }
|
||||
it { expect(@fork_merge_request).to be_merged }
|
||||
it { expect(@fork_merge_request.notes.last.note).to include('changed to merged') }
|
||||
it { expect(@build_failed_todo).to be_pending }
|
||||
it { expect(@fork_build_failed_todo).to be_pending }
|
||||
it { expect(@build_failed_todo).to be_done }
|
||||
it { expect(@fork_build_failed_todo).to be_done }
|
||||
end
|
||||
|
||||
context 'push to fork repo source branch' do
|
||||
|
@ -149,8 +149,8 @@ describe MergeRequests::RefreshService, services: true do
|
|||
it { expect(@merge_request).to be_merged }
|
||||
it { expect(@fork_merge_request).to be_open }
|
||||
it { expect(@fork_merge_request.notes).to be_empty }
|
||||
it { expect(@build_failed_todo).to be_pending }
|
||||
it { expect(@fork_build_failed_todo).to be_pending }
|
||||
it { expect(@build_failed_todo).to be_done }
|
||||
it { expect(@fork_build_failed_todo).to be_done }
|
||||
end
|
||||
|
||||
context 'push new branch that exists in a merge request' do
|
||||
|
|
Loading…
Reference in New Issue