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:
authorAdam Niedzielski <adamsunday@gmail.com>2016-11-16 13:33:20 +0300
committerAdam Niedzielski <adamsunday@gmail.com>2016-11-16 13:33:20 +0300
commitf913170e2f76ef44800f0272cb7fb40b9d6709ee (patch)
tree6a8a0c57de23b9bb28899b0582295a9db459cc96 /spec/services/merge_requests/refresh_service_spec.rb
parent37abb20cec2a9836a7d1d70a7f7535af6646df1e (diff)
Do not create a MergeRequestDiff record when source branch is deleted
In order to have a valid MergeRequestDiff record when need head_commit_sha. When a source branch is deleted head_commit_sha is nil. This causes an exception in merge request "Changes" tab.
Diffstat (limited to 'spec/services/merge_requests/refresh_service_spec.rb')
-rw-r--r--spec/services/merge_requests/refresh_service_spec.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/spec/services/merge_requests/refresh_service_spec.rb b/spec/services/merge_requests/refresh_service_spec.rb
index e515bc9f89c..0220f7e1db2 100644
--- a/spec/services/merge_requests/refresh_service_spec.rb
+++ b/spec/services/merge_requests/refresh_service_spec.rb
@@ -227,6 +227,16 @@ describe MergeRequests::RefreshService, services: true do
end
end
+ context 'when the source branch is deleted' do
+ it 'does not create a MergeRequestDiff record' do
+ refresh_service = service.new(@project, @user)
+
+ expect do
+ refresh_service.execute(@oldrev, Gitlab::Git::BLANK_SHA, 'refs/heads/master')
+ end.not_to change { MergeRequestDiff.count }
+ end
+ end
+
def reload_mrs
@merge_request.reload
@fork_merge_request.reload