diff options
Diffstat (limited to 'spec/services/merge_requests/retarget_chain_service_spec.rb')
-rw-r--r-- | spec/services/merge_requests/retarget_chain_service_spec.rb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/spec/services/merge_requests/retarget_chain_service_spec.rb b/spec/services/merge_requests/retarget_chain_service_spec.rb index ef8cd0a861e..a048c21d39a 100644 --- a/spec/services/merge_requests/retarget_chain_service_spec.rb +++ b/spec/services/merge_requests/retarget_chain_service_spec.rb @@ -41,9 +41,13 @@ RSpec.describe MergeRequests::RetargetChainService, feature_category: :code_revi 'target', 'delete', merge_request.source_branch, merge_request.target_branch) + expect(another_merge_request.rebase_jid).to be_blank + expect { subject }.to change { another_merge_request.reload.target_branch } .from(merge_request.source_branch) .to(merge_request.target_branch) + + expect(another_merge_request.rebase_jid).to be_present end end @@ -132,9 +136,17 @@ RSpec.describe MergeRequests::RetargetChainService, feature_category: :code_revi merge_request.mark_as_merged end - it 'retargets only 4 of them' do + it 'retargets and rebases only 4 of them' do + expect(many_merge_requests.any? { |mr| mr.reload.rebase_jid.present? }).to be_falsey + subject + first_four = many_merge_requests.first(4) + others = many_merge_requests - first_four + + expect(others.any? { |mr| mr.reload.rebase_jid.present? }).to be_falsey + expect(first_four.all? { |mr| mr.reload.rebase_jid.present? }).to be_truthy + expect(many_merge_requests.each(&:reload).pluck(:target_branch).tally) .to eq( merge_request.source_branch => 6, |