FIX: don't flag watched words when rebaking posts

This commit is contained in:
Neil Lalonde 2017-10-12 15:34:22 -04:00
parent c383cf82a7
commit c53f41f4f2
2 changed files with 9 additions and 1 deletions

View File

@ -41,7 +41,7 @@ module Jobs
if !post.user.staff? && !post.user.staged
s = post.cooked
s << " #{post.topic.title}" if post.post_number == 1
if WordWatcher.new(s).should_flag?
if !args[:bypass_bump] && WordWatcher.new(s).should_flag?
PostAction.act(Discourse.system_user, post, PostActionType.types[:inappropriate]) rescue PostAction::AlreadyActed
end
end

View File

@ -169,5 +169,13 @@ describe WatchedWord do
}.to change { PostAction.count }.by(1)
expect(PostAction.where(post_id: post.id, post_action_type_id: PostActionType.types[:inappropriate]).exists?).to eq(true)
end
it "should not flag on rebake" do
post = Fabricate(:post, topic: Fabricate(:topic, user: tl2_user), user: tl2_user, raw: "I have coupon codes. Message me.")
Fabricate(:watched_word, action: WatchedWord.actions[:flag], word: "coupon")
expect {
post.rebake!
}.to_not change { PostAction.count }
end
end
end