diff options
author | Felipe Artur <felipefac@gmail.com> | 2018-06-27 10:54:10 -0300 |
---|---|---|
committer | Felipe Artur <felipefac@gmail.com> | 2018-06-27 10:54:10 -0300 |
commit | d66bbf82b31b60c26646955c61e6a934b89d8a69 (patch) | |
tree | c730a0e434d9f44503464b3c4f0e6413127434d1 | |
parent | c82b57789dea2d95f725e87e20e6b763493c7677 (diff) | |
download | gitlab-ce-d66bbf82b31b60c26646955c61e6a934b89d8a69.tar.gz |
Fix discussion entity for legacy diff notes
-rw-r--r-- | app/serializers/discussion_entity.rb | 2 | ||||
-rw-r--r-- | spec/serializers/discussion_entity_spec.rb | 19 |
2 files changed, 20 insertions, 1 deletions
diff --git a/app/serializers/discussion_entity.rb b/app/serializers/discussion_entity.rb index 63f28133a64..08e816b13f9 100644 --- a/app/serializers/discussion_entity.rb +++ b/app/serializers/discussion_entity.rb @@ -3,7 +3,7 @@ class DiscussionEntity < Grape::Entity include NotesHelper expose :id, :reply_id - expose :position, if: -> (d, _) { d.diff_discussion? } + expose :position, if: -> (d, _) { d.diff_discussion? && !d.legacy_diff_discussion?} expose :line_code, if: -> (d, _) { d.diff_discussion? } expose :expanded?, as: :expanded expose :active?, as: :active, if: -> (d, _) { d.diff_discussion? } diff --git a/spec/serializers/discussion_entity_spec.rb b/spec/serializers/discussion_entity_spec.rb index 44d8cc69d9b..378540a35b6 100644 --- a/spec/serializers/discussion_entity_spec.rb +++ b/spec/serializers/discussion_entity_spec.rb @@ -36,6 +36,25 @@ describe DiscussionEntity do ) end + context 'when is LegacyDiffDiscussion' do + let(:project) { create(:project) } + let(:merge_request) { create(:merge_request, source_project: project) } + let(:discussion) { create(:legacy_diff_note_on_merge_request, noteable: merge_request, project: project).to_discussion } + + it 'exposes correct attributes' do + expect(subject.keys.sort).to include( + :diff_discussion, + :expanded, + :id, + :individual_note, + :notes, + :discussion_path, + :for_commit, + :commit_id + ) + end + end + context 'when diff file is present' do let(:note) { create(:diff_note_on_merge_request) } |