diff options
author | Shinya Maeda <shinya@gitlab.com> | 2019-06-06 10:25:06 +0300 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2019-06-12 09:20:49 +0300 |
commit | b8c131715296dbd864bb7417ef04fc2ad7e18a53 (patch) | |
tree | c6d9ae7c27b30db1e20c04b5ca925401171ac0d1 /spec/services/auto_merge_service_spec.rb | |
parent | 9baff6f6b58981ac1565d371b01948a286f7bffd (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.rb | 24 |
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) } |