summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2019-06-10 18:03:32 +0700
committerShinya Maeda <shinya@gitlab.com>2019-06-10 18:03:32 +0700
commit8f243acf02451c5c2c86cbcb99012180b8b18875 (patch)
treef4b1ae2385a9d1ba707cd6ec49b94c750159511c
parenta0af34582cf0f3c5d901dfe9c78d9ef05c900d7f (diff)
downloadgitlab-ce-process-when-auto-merge-is-enabled.tar.gz
Notify when auto merge is enabledprocess-when-auto-merge-is-enabled
There are bunch of auto merge related notifications, and when auto merge is enabled, it should be evaluated immediately.
-rw-r--r--app/services/auto_merge/base_service.rb3
-rw-r--r--spec/services/auto_merge/base_service_spec.rb10
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