diff options
-rw-r--r-- | app/services/auto_merge/base_service.rb | 3 | ||||
-rw-r--r-- | spec/services/auto_merge/base_service_spec.rb | 10 |
2 files changed, 13 insertions, 0 deletions
diff --git a/app/services/auto_merge/base_service.rb b/app/services/auto_merge/base_service.rb index 058105db3a4..7f0a41b3dfa 100644 --- a/app/services/auto_merge/base_service.rb +++ b/app/services/auto_merge/base_service.rb @@ -14,6 +14,9 @@ module AutoMerge yield if block_given? + # Notify the event that auto merge is enabled or merge param is updated + AutoMergeProcessWorker.perform_async(merge_request.id) + strategy.to_sym end diff --git a/spec/services/auto_merge/base_service_spec.rb b/spec/services/auto_merge/base_service_spec.rb index 197fa16961d..35d60d6abbb 100644 --- a/spec/services/auto_merge/base_service_spec.rb +++ b/spec/services/auto_merge/base_service_spec.rb @@ -12,6 +12,10 @@ describe AutoMerge::BaseService do describe '#execute' do subject { service.execute(merge_request) } + before do + allow(AutoMergeProcessWorker).to receive(:perform_async) {} + end + it 'sets properies to the merge request' do subject @@ -65,6 +69,12 @@ describe AutoMerge::BaseService do it 'returns activated strategy name' do is_expected.to eq(AutoMergeService::STRATEGY_MERGE_WHEN_PIPELINE_SUCCEEDS.to_sym) end + + it 'calls AutoMergeProcessWorker' do + expect(AutoMergeProcessWorker).to receive(:perform_async).with(merge_request.id).once + + subject + end end context 'when failed to save' do |