Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2019-06-06 10:25:06 +0300
committerShinya Maeda <shinya@gitlab.com>2019-06-12 09:20:49 +0300
commitb8c131715296dbd864bb7417ef04fc2ad7e18a53 (patch)
treec6d9ae7c27b30db1e20c04b5ca925401171ac0d1 /spec/services/auto_merge_service_spec.rb
parent9baff6f6b58981ac1565d371b01948a286f7bffd (diff)
Update merge options for auto merge strategies
Currently, merge options is updated on #execute method, however, we should have #update interface to make it explicit.
Diffstat (limited to 'spec/services/auto_merge_service_spec.rb')
-rw-r--r--spec/services/auto_merge_service_spec.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/services/auto_merge_service_spec.rb b/spec/services/auto_merge_service_spec.rb
index d0eefed3150..7e9c412adb3 100644
--- a/spec/services/auto_merge_service_spec.rb
+++ b/spec/services/auto_merge_service_spec.rb
@@ -92,6 +92,30 @@ describe AutoMergeService do
end
end
+ describe '#update' do
+ subject { service.update(merge_request) }
+
+ context 'when auto merge is enabled' do
+ let(:merge_request) { create(:merge_request, :merge_when_pipeline_succeeds) }
+
+ it 'delegates to a relevant service instance' do
+ expect_next_instance_of(AutoMerge::MergeWhenPipelineSucceedsService) do |service|
+ expect(service).to receive(:update).with(merge_request)
+ end
+
+ subject
+ end
+ end
+
+ context 'when auto merge is not enabled' do
+ let(:merge_request) { create(:merge_request) }
+
+ it 'returns failed' do
+ is_expected.to eq(:failed)
+ end
+ end
+ end
+
describe '#process' do
subject { service.process(merge_request) }