# frozen_string_literal: true require 'rails_helper' describe TopicViewPostsSerializer do it 'should return the right attributes' do user = Fabricate(:user) post = Fabricate(:post) topic = post.topic reviewable = Fabricate(:reviewable_flagged_post, created_by: user, target: post, topic: topic) ReviewableScore.create!( reviewable_id: reviewable.id, user_id: user.id, reviewable_score_type: 0, status: ReviewableScore.statuses[:pending] ) ReviewableScore.create!( reviewable_id: reviewable.id, user_id: user.id, reviewable_score_type: 0, status: ReviewableScore.statuses[:ignored] ) topic_view = TopicView.new(topic, user, post_ids: [post.id]) serializer = TopicViewPostsSerializer.new( topic_view, scope: Guardian.new(Fabricate(:admin)), root: false ) body = JSON.parse(serializer.to_json) posts = body["post_stream"]["posts"] expect(posts.count).to eq(1) expect(posts.first["id"]).to eq(post.id) expect(posts.first["reviewable_score_count"]).to eq(2) expect(posts.first["reviewable_score_pending_count"]).to eq(1) expect(body["post_stream"]["stream"]).to eq(nil) expect(body["post_stream"]["timeline_lookup"]).to eq(nil) expect(body["post_stream"]["gaps"]).to eq(nil) end end