summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Artur <felipefac@gmail.com>2018-06-27 10:54:10 -0300
committerFelipe Artur <felipefac@gmail.com>2018-06-27 10:54:10 -0300
commitd66bbf82b31b60c26646955c61e6a934b89d8a69 (patch)
treec730a0e434d9f44503464b3c4f0e6413127434d1
parentc82b57789dea2d95f725e87e20e6b763493c7677 (diff)
downloadgitlab-ce-d66bbf82b31b60c26646955c61e6a934b89d8a69.tar.gz
Fix discussion entity for legacy diff notes
-rw-r--r--app/serializers/discussion_entity.rb2
-rw-r--r--spec/serializers/discussion_entity_spec.rb19
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) }