mirror of
https://github.com/discourse/discourse.git
synced 2024-12-19 09:03:45 +08:00
e219588142
* Introduced fab!, a helper that creates database state for a group It's almost identical to let_it_be, except: 1. It creates a new object for each test by default, 2. You can disable it using PREFABRICATION=0
30 lines
776 B
Ruby
30 lines
776 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
RSpec.describe TopicViewPostsSerializer do
|
|
fab!(:user) { Fabricate(:user) }
|
|
fab!(:post) { Fabricate(:post) }
|
|
let(:topic) { post.topic }
|
|
let(:topic_view) { TopicView.new(topic, user, post_ids: [post.id]) }
|
|
|
|
subject do
|
|
described_class.new(topic_view,
|
|
scope: Guardian.new(Fabricate(:admin)),
|
|
root: false
|
|
)
|
|
end
|
|
|
|
it 'should return the right attributes' do
|
|
body = JSON.parse(subject.to_json)
|
|
|
|
posts = body["post_stream"]["posts"]
|
|
|
|
expect(posts.count).to eq(1)
|
|
expect(posts.first["id"]).to eq(post.id)
|
|
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
|