discourse/spec/serializers/topic_list_serializer_spec.rb
Daniel Waterworth 6e161d3e75
DEV: Allow fab! without block (#24314)
The most common thing that we do with fab! is:

    fab!(:thing) { Fabricate(:thing) }

This commit adds a shorthand for this which is just simply:

    fab!(:thing)

i.e. If you omit the block, then, by default, you'll get a `Fabricate`d object using the fabricator of the same name.
2023-11-09 16:47:59 -06:00

18 lines
540 B
Ruby

# frozen_string_literal: true
RSpec.describe TopicListSerializer do
fab!(:user)
let(:topic) { Fabricate(:topic).tap { |t| t.allowed_user_ids = [t.user_id] } }
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