summaryrefslogtreecommitdiff
path: root/spec/services/merge_requests/merge_service_spec.rb
diff options
context:
space:
mode:
authorTony Gambone <tonygambone@gmail.com>2016-09-22 17:30:37 -0400
committerTony Gambone <tonygambone@gmail.com>2016-09-29 14:51:12 -0400
commit6d49fcf439c88492ff599432818d1c302e509997 (patch)
treea1fc7b977a8c767546005f0561d95ded08bb57f7 /spec/services/merge_requests/merge_service_spec.rb
parent923a1f7ace53f4913284c384ae2a20a39a999f99 (diff)
downloadgitlab-ce-6d49fcf439c88492ff599432818d1c302e509997.tar.gz
Close todos when accepting a MR via the API.
Diffstat (limited to 'spec/services/merge_requests/merge_service_spec.rb')
-rw-r--r--spec/services/merge_requests/merge_service_spec.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/services/merge_requests/merge_service_spec.rb b/spec/services/merge_requests/merge_service_spec.rb
index 159f6817e8d..31167675d07 100644
--- a/spec/services/merge_requests/merge_service_spec.rb
+++ b/spec/services/merge_requests/merge_service_spec.rb
@@ -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'