31 lines
957 B
Ruby
31 lines
957 B
Ruby
# 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
|