From 086c5de866e9a0aee3aa643bb3779cc902c499ed Mon Sep 17 00:00:00 2001 From: Vinoth Kannan Date: Sun, 17 Mar 2019 23:43:20 +0530 Subject: [PATCH] SPEC: Add test cases for topic answer mixin --- spec/serializers/topic_answer_mixin_spec.rb | 24 +++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 spec/serializers/topic_answer_mixin_spec.rb diff --git a/spec/serializers/topic_answer_mixin_spec.rb b/spec/serializers/topic_answer_mixin_spec.rb new file mode 100644 index 0000000..f0c785a --- /dev/null +++ b/spec/serializers/topic_answer_mixin_spec.rb @@ -0,0 +1,24 @@ +require 'rails_helper' + +describe TopicAnswerMixin do + let(:topic) { Fabricate(:topic) } + let(:post) { Fabricate(:post, topic: topic) } + let(:guardian) { Guardian.new } + + before do + topic.custom_fields["accepted_answer_post_id"] = post.id + topic.save_custom_fields + end + + it "should have true for `has_accepted_answer` field in each serializer" do + [ + TopicListItemSerializer, + SearchTopicListItemSerializer, + SuggestedTopicSerializer, + UserSummarySerializer::TopicSerializer + ].each do |serializer| + json = serializer.new(topic, scope: guardian, root: false).as_json + expect(json[:has_accepted_answer]).to be_truthy + end + end +end