discourse/spec/serializers/topic_list_serializer_spec.rb
Daniel Waterworth e219588142 DEV: Prefabrication (test optimization) (#7414)
* 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
2019-05-07 13:12:20 +10:00

26 lines
618 B
Ruby

# frozen_string_literal: true
require 'rails_helper'
RSpec.describe TopicListSerializer do
fab!(:user) { Fabricate(:user) }
let(:topic) do
Fabricate(:topic).tap do |t|
t.allowed_user_ids = [t.user_id]
end
end
it 'should return the right payload' do
topic_list = TopicList.new(nil, user, [topic])
serialized = described_class.new(topic_list,
scope: Guardian.new(user)
).as_json
expect(serialized[:users].first[:id]).to eq(topic.user_id)
expect(serialized[:primary_groups]).to eq([])
expect(serialized[:topic_list][:topics].first[:id]).to eq(topic.id)
end
end