0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-13 13:17:29 +08:00
discourse/plugins/discourse-assign/spec/serializers/suggested_topic_serializer_spec.rb
Jarek Radosz 506c233c78
DEV: Don't use fab! for non-ActiveRecord model objects (#39272)
should fix a flake or two (`fab!` was making guardian state leak between
specs)
2026-04-15 00:52:34 +02:00

28 lines
1 KiB
Ruby
Vendored

# frozen_string_literal: true
RSpec.describe SuggestedTopicSerializer do
fab!(:user)
fab!(:group) { Fabricate(:group, assignable_level: Group::ALIAS_LEVELS[:everyone]) }
fab!(:group_user) { Fabricate(:group_user, group: group, user: user) }
fab!(:topic)
fab!(:post) { Fabricate(:post, topic: topic) }
fab!(:topic2, :topic)
fab!(:post2) { Fabricate(:post, topic: topic2) }
let(:guardian) { Guardian.new(user) }
let(:serializer) { described_class.new(topic, scope: guardian) }
let(:serializer2) { described_class.new(topic2, scope: guardian) }
before do
SiteSetting.assign_enabled = true
SiteSetting.assign_allowed_on_groups = group.id.to_s
end
it "adds information about assignee for users and groups" do
Assigner.new(topic, user).assign(user)
expect(serializer.as_json[:suggested_topic][:assigned_to_user][:username]).to eq(user.username)
Assigner.new(topic2, user).assign(group)
expect(serializer2.as_json[:suggested_topic][:assigned_to_group][:name]).to eq(group.name)
end
end