summaryrefslogtreecommitdiff
path: root/spec/serializers/discussion_entity_spec.rb
diff options
context:
space:
mode:
authorClement Ho <clemmakesapps@gmail.com>2018-02-28 18:40:06 +0000
committerClement Ho <clemmakesapps@gmail.com>2018-02-28 18:40:06 +0000
commit9353c5c780c7af6d6ed3d6c501b155f82debc99c (patch)
tree55d87571798f5ff10ee1431a296f1115251f67e9 /spec/serializers/discussion_entity_spec.rb
parentc287c01821c4db4830dbdd5263907f08c2ed4cc4 (diff)
parente2638c3ff2714e5efd4bc54e64555fc564c84af1 (diff)
downloadgitlab-ce-pipelines_show_refactor.tar.gz
Merge branch 'master' into 'pipelines_show_refactor'pipelines_show_refactor
# Conflicts: # config/webpack.config.js
Diffstat (limited to 'spec/serializers/discussion_entity_spec.rb')
-rw-r--r--spec/serializers/discussion_entity_spec.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/serializers/discussion_entity_spec.rb b/spec/serializers/discussion_entity_spec.rb
new file mode 100644
index 00000000000..7ee8e38af1c
--- /dev/null
+++ b/spec/serializers/discussion_entity_spec.rb
@@ -0,0 +1,36 @@
+require 'spec_helper'
+
+describe DiscussionEntity do
+ include RepoHelpers
+
+ let(:user) { create(:user) }
+ let(:note) { create(:discussion_note_on_merge_request) }
+ let(:discussion) { note.discussion }
+ let(:request) { double('request') }
+ let(:controller) { double('controller') }
+ let(:entity) { described_class.new(discussion, request: request, context: controller) }
+
+ subject { entity.as_json }
+
+ before do
+ allow(controller).to receive(:render_to_string)
+ allow(request).to receive(:current_user).and_return(user)
+ allow(request).to receive(:noteable).and_return(note.noteable)
+ end
+
+ it 'exposes correct attributes' do
+ expect(subject).to include(
+ :id, :expanded, :notes, :individual_note,
+ :resolvable, :resolved, :resolve_path,
+ :resolve_with_issue_path, :diff_discussion
+ )
+ end
+
+ context 'when diff file is present' do
+ let(:note) { create(:diff_note_on_merge_request) }
+
+ it 'exposes diff file attributes' do
+ expect(subject).to include(:diff_file, :truncated_diff_lines, :image_diff_html)
+ end
+ end
+end