fix intermittent failing tests, some watched word refactoring

This commit is contained in:
Neil Lalonde
2017-07-27 12:26:55 -04:00
parent ad04d188ae
commit 68b3dd43ce
5 changed files with 27 additions and 16 deletions

View File

@ -33,6 +33,7 @@ class Validators::PostValidator < ActiveModel::Validator
return if options[:skip_post_body] || post.topic&.pm_with_non_human_user?
stripped_length(post)
raw_quality(post)
watched_words(post)
end
def stripped_length(post)
@ -55,6 +56,12 @@ class Validators::PostValidator < ActiveModel::Validator
post.errors.add(:raw, I18n.t(:is_invalid)) unless sentinel.valid?
end
def watched_words(post)
if !post.acting_user&.staff? && !post.acting_user&.staged && WordWatcher.new(post.raw).should_block?
post.errors[:base] << I18n.t('contains_blocked_words')
end
end
# Ensure maximum amount of mentions in a post
def max_mention_validator(post)
return if post.acting_user.try(:staff?)