DEV: Backfill tests (#324)
This commit is contained in:
parent
d2241049e1
commit
3151bea1da
|
|
@ -43,6 +43,33 @@ RSpec.describe Assigner do
|
|||
.to eq(TopicUser.notification_levels[:tracking])
|
||||
end
|
||||
|
||||
it "publishes topic assignment after assign and unassign" do
|
||||
messages = MessageBus.track_publish('/staff/topic-assignment') do
|
||||
assigner = described_class.new(topic, moderator_2)
|
||||
assigner.assign(moderator)
|
||||
assigner.unassign
|
||||
end
|
||||
|
||||
expect(messages[0].channel).to eq "/staff/topic-assignment"
|
||||
expect(messages[0].data).to include({
|
||||
type: "assigned",
|
||||
topic_id: topic.id,
|
||||
post_id: false,
|
||||
post_number: false,
|
||||
assigned_type: "User",
|
||||
assigned_to: BasicUserSerializer.new(moderator, scope: Guardian.new, root: false).as_json,
|
||||
})
|
||||
|
||||
expect(messages[1].channel).to eq "/staff/topic-assignment"
|
||||
expect(messages[1].data).to include({
|
||||
type: "unassigned",
|
||||
topic_id: topic.id,
|
||||
post_id: false,
|
||||
post_number: false,
|
||||
assigned_type: "User",
|
||||
})
|
||||
end
|
||||
|
||||
it 'does not update notification level if already watching' do
|
||||
TopicUser.change(moderator.id, topic.id,
|
||||
notification_level: TopicUser.notification_levels[:watching]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'rails_helper'
|
||||
require_relative '../support/assign_allowed_group'
|
||||
|
||||
RSpec.describe TopicViewSerializer do
|
||||
fab!(:user) { Fabricate(:user) }
|
||||
fab!(:topic) { Fabricate(:topic) }
|
||||
fab!(:post) { Fabricate(:post, topic: topic) }
|
||||
let(:guardian) { Guardian.new(user) }
|
||||
|
||||
include_context 'A group that is allowed to assign'
|
||||
|
||||
before do
|
||||
SiteSetting.assign_enabled = true
|
||||
add_to_assign_allowed_group(user)
|
||||
end
|
||||
|
||||
it "includes assigned user in serializer" do
|
||||
Assigner.new(topic, user).assign(user)
|
||||
serializer = TopicViewSerializer.new(TopicView.new(topic), scope: guardian)
|
||||
expect(serializer.as_json[:topic_view][:assigned_to_user][:username]).to eq(user.username)
|
||||
expect(serializer.as_json[:topic_view][:assigned_to_group]).to be nil
|
||||
end
|
||||
|
||||
it "includes assigned group in serializer" do
|
||||
Assigner.new(topic, user).assign(assign_allowed_group)
|
||||
serializer = TopicViewSerializer.new(TopicView.new(topic), scope: guardian)
|
||||
expect(serializer.as_json[:topic_view][:assigned_to_group][:name]).to eq(assign_allowed_group.name)
|
||||
expect(serializer.as_json[:topic_view][:assigned_to_user]).to be nil
|
||||
end
|
||||
end
|
||||
Loading…
Reference in New Issue