FIX: discobot fails when max_emojis_in_title=0 (#5710)

* If discobot is enabled but max_emojis_in_title==0,
  try to strip emoji from the title when creating a new post
This commit is contained in:
Michael Brown 2018-03-27 12:00:29 -04:00 committed by Régis Hanol
parent 0187423c68
commit ed4d7ae1b9
2 changed files with 21 additions and 1 deletions

View File

@ -182,8 +182,13 @@ module DiscourseNarrativeBot
#{instance_eval(&@next_instructions)}
RAW
title = I18n.t("#{I18N_KEY}.hello.title", title: SiteSetting.title)
if SiteSetting.max_emojis_in_title == 0
title = title.gsub(/:([\w\-+]+(?::t\d)?):/, '').strip
end
opts = {
title: I18n.t("#{I18N_KEY}.hello.title", title: SiteSetting.title),
title: title,
target_usernames: @user.username,
archetype: Archetype.private_message,
subtype: TopicSubtype.system_message,

View File

@ -32,6 +32,21 @@ describe User do
end
end
context 'with title emoji disabled' do
before do
SiteSetting.disable_discourse_narrative_bot_welcome_post = false
SiteSetting.max_emojis_in_title = 0
end
it 'initiates the bot' do
expect { user }.to change { Topic.count }.by(1)
expect(Topic.last.title).to eq(I18n.t(
'discourse_narrative_bot.new_user_narrative.hello.title'
).gsub(/:robot:/, '').strip)
end
end
context 'enabled' do
before do
SiteSetting.disable_discourse_narrative_bot_welcome_post = false