FIX: Do not unassign on topic open

This commit is contained in:
Gerhard Schlager 2019-01-10 20:58:14 +01:00
parent 89f794cf83
commit 5527457ce2
2 changed files with 14 additions and 4 deletions

View File

@ -217,8 +217,8 @@ after_initialize do
::TopicAssigner.auto_assign(post, force: true)
end
on(:topic_status_updated) do |topic, status|
if SiteSetting.unassign_on_close && (status == 'closed' || status == 'autoclosed')
on(:topic_status_updated) do |topic, status, enabled|
if SiteSetting.unassign_on_close && (status == 'closed' || status == 'autoclosed') && enabled
assigner = ::TopicAssigner.new(topic, Discourse.system_user)
assigner.unassign(silent: true)
end

View File

@ -142,14 +142,24 @@ RSpec.describe TopicAssigner do
assigner.assign(moderator)
end
it "will unassign on topic closed" do
it "unassigns on topic closed" do
topic.update_status("closed", true, moderator)
expect(TopicQuery.new(moderator, assigned: moderator.username).list_latest.topics).to be_blank
end
it "will unassign on topic autoclosed" do
it "unassigns on topic autoclosed" do
topic.update_status("autoclosed", true, moderator)
expect(TopicQuery.new(moderator, assigned: moderator.username).list_latest.topics).to be_blank
end
it "does not unassign on topic open" do
topic.update_status("closed", false, moderator)
expect(TopicQuery.new(moderator, assigned: moderator.username).list_latest.topics).to eq([topic])
end
it "does not unassign on automatic topic open" do
topic.update_status("autoclosed", false, moderator)
expect(TopicQuery.new(moderator, assigned: moderator.username).list_latest.topics).to eq([topic])
end
end
end