summaryrefslogtreecommitdiff
path: root/spec/services
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-02-28 15:09:13 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-02-28 15:09:13 +0000
commit736d36d8597d0d1ec1b47644e6d091c3f4a78f45 (patch)
treea38f6fef2b7147416b31f8294a9389b3bb472c87 /spec/services
parent5426ca9908085087d465fa52800335f408eb965a (diff)
downloadgitlab-ce-736d36d8597d0d1ec1b47644e6d091c3f4a78f45.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/services')
-rw-r--r--spec/services/deployments/link_merge_requests_service_spec.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/services/deployments/link_merge_requests_service_spec.rb b/spec/services/deployments/link_merge_requests_service_spec.rb
index 605f2cfdc51..2f635c7ad62 100644
--- a/spec/services/deployments/link_merge_requests_service_spec.rb
+++ b/spec/services/deployments/link_merge_requests_service_spec.rb
@@ -133,6 +133,34 @@ describe Deployments::LinkMergeRequestsService do
expect(deploy.merge_requests).to include(mr1, picked_mr)
end
+ it "doesn't link the same merge_request twice" do
+ create(:merge_request, :merged, merge_commit_sha: mr1_merge_commit_sha,
+ source_project: project)
+
+ picked_mr = create(:merge_request, :merged, merge_commit_sha: '123abc',
+ source_project: project)
+
+ # the first MR includes c1c67abba which is a cherry-pick of the fake picked_mr merge request
+ create(:track_mr_picking_note, noteable: picked_mr, project: project, commit_id: 'c1c67abbaf91f624347bb3ae96eabe3a1b742478')
+
+ environment = create(:environment, project: project)
+ old_deploy =
+ create(:deployment, :success, project: project, environment: environment)
+
+ # manually linking all the MRs to the old_deploy
+ old_deploy.link_merge_requests(project.merge_requests)
+
+ deploy =
+ create(:deployment, :success, project: project, environment: environment)
+
+ described_class.new(deploy).link_merge_requests_for_range(
+ first_deployment_sha,
+ mr1_merge_commit_sha
+ )
+
+ expect(deploy.merge_requests).to be_empty
+ end
+
context 'when :track_mr_picking feature flag is disabled' do
before do
stub_feature_flags(track_mr_picking: false)