FIX: Bot mentioned check should be case insensitive.

This commit is contained in:
Guo Xiang Tan 2017-06-08 18:59:44 +09:00
parent 38cc6dec84
commit 7b902c18a5
2 changed files with 12 additions and 2 deletions

View File

@ -245,13 +245,13 @@ module DiscourseNarrativeBot
def bot_mentioned?
@bot_mentioned ||= PostAnalyzer.new(@post.raw, @post.topic_id).raw_mentions.include?(
self.discobot_user.username
self.discobot_user.username.downcase
)
end
def public_reply?
!SiteSetting.discourse_narrative_bot_disable_public_replies &&
(bot_mentioned? || reply_to_bot_post?(@post))
(reply_to_bot_post?(@post) || bot_mentioned?)
end
def terminate_track(data)

View File

@ -414,6 +414,16 @@ describe DiscourseNarrativeBot::TrackSelector do
expect(new_post.raw).to eq(random_mention_reply)
end
it "should be case insensitive towards discobot's username" do
discobot_user.update!(username: 'DisCoBot')
post.update!(raw: 'Show me what you can do @discobot')
described_class.new(:reply, user, post_id: post.id).select
new_post = Post.last
expect(new_post.raw).to eq(random_mention_reply)
end
describe 'rate limiting random reply message in public topic' do
let(:topic) { Fabricate(:topic) }
let(:other_post) { Fabricate(:post, raw: '@discobot show me something', topic: topic) }