diff options
author | Adam Niedzielski <adamsunday@gmail.com> | 2016-11-16 13:33:20 +0300 |
---|---|---|
committer | Adam Niedzielski <adamsunday@gmail.com> | 2016-11-16 13:33:20 +0300 |
commit | f913170e2f76ef44800f0272cb7fb40b9d6709ee (patch) | |
tree | 6a8a0c57de23b9bb28899b0582295a9db459cc96 /spec/services/merge_requests/refresh_service_spec.rb | |
parent | 37abb20cec2a9836a7d1d70a7f7535af6646df1e (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.rb | 10 |
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 |