diff options
author | Stan Hu <stanhu@gmail.com> | 2016-08-27 20:59:48 -0700 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-11-14 15:57:01 +0100 |
commit | 0f61bb2dc5298a7e06f8e211adcf46dd282b9c86 (patch) | |
tree | 3e5d555919ae02c30bb8519cc898d8a256f75e9a /spec/lib | |
parent | 36fa5d660df96c49484cd27695da1df6e361eb8f (diff) | |
download | gitlab-ce-0f61bb2dc5298a7e06f8e211adcf46dd282b9c86.tar.gz |
Fix Error 500 when creating a merge request that contains an image that was deleted and addedstanhu/gitlab-ce-fix-error-500-with-mr-images
Steps to reproduce:
1. Start with a repo with an image
2. Add a commit to delete the image
3. Add another commit to replace the image with another image
In a diff comparison, we really just compare about what the image was before the diff, not
the direct parent of the last commit. This MR fixes that.
Closes #3893, gitlab-org/gitlab-ee#678
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'spec/lib')
-rw-r--r-- | spec/lib/gitlab/diff/file_spec.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/lib/gitlab/diff/file_spec.rb b/spec/lib/gitlab/diff/file_spec.rb index 0650cb291e5..38475792d93 100644 --- a/spec/lib/gitlab/diff/file_spec.rb +++ b/spec/lib/gitlab/diff/file_spec.rb @@ -46,4 +46,28 @@ describe Gitlab::Diff::File, lib: true do expect(diff_file.collapsed?).to eq(false) end end + + describe '#old_content_commit' do + it 'returns base commit' do + old_content_commit = diff_file.old_content_commit + + expect(old_content_commit.id).to eq('6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9') + end + end + + describe '#old_blob' do + it 'returns blob of commit of base commit' do + old_data = diff_file.old_blob.data + + expect(old_data).to include('raise "System commands must be given as an array of strings"') + end + end + + describe '#blob' do + it 'returns blob of new commit' do + data = diff_file.blob.data + + expect(data).to include('raise RuntimeError, "System commands must be given as an array of strings"') + end + end end |