DEV: Add back validator for Spam setting
This commit is contained in:
parent
6827147362
commit
2d5a1c8155
|
@ -412,6 +412,7 @@ discourse_ai:
|
|||
|
||||
ai_spam_detection_enabled:
|
||||
default: false
|
||||
validator: "DiscourseAi::Configuration::SpamDetectionValidator"
|
||||
ai_spam_detection_user_id:
|
||||
default: ""
|
||||
hidden: true
|
||||
|
|
|
@ -8,7 +8,8 @@ module DiscourseAi
|
|||
end
|
||||
|
||||
def valid_value?(val)
|
||||
return true if Rails.env.test?
|
||||
# only validate when enabling spam detection
|
||||
return true if val == "f" || val == "false"
|
||||
return true if AiModerationSetting.spam
|
||||
|
||||
false
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
RSpec.describe DiscourseAi::Configuration::SpamDetectionValidator do
|
||||
let(:validator) { described_class.new }
|
||||
|
||||
it "always returns true if setting the value to false" do
|
||||
expect(validator.valid_value?("f")).to eq(true)
|
||||
end
|
||||
|
||||
context "when a moderation setting exists" do
|
||||
fab!(:llm_model)
|
||||
before { AiModerationSetting.create!(setting_type: "spam", llm_model_id: llm_model.id) }
|
||||
|
||||
it "returns true if a moderation setting for spam exists" do
|
||||
expect(validator.valid_value?("t")).to eq(true)
|
||||
end
|
||||
end
|
||||
|
||||
context "when no moderation setting exists" do
|
||||
it "returns false if a moderation setting for spam does not exist" do
|
||||
expect(validator.valid_value?("t")).to eq(false)
|
||||
end
|
||||
|
||||
it "returns an error message when no moderation setting exists" do
|
||||
expect(validator.error_message).to eq(
|
||||
I18n.t("discourse_ai.spam_detection.configuration_missing"),
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue