FIX: spam
This commit is contained in:
@@ -127,7 +127,7 @@ export default class AiSpam extends Component {
|
||||
}
|
||||
|
||||
get llmId() {
|
||||
return this.selectedLLM.toString().split(":")[1];
|
||||
return this.selectedLLM;
|
||||
}
|
||||
|
||||
@action
|
||||
|
||||
@@ -2,47 +2,51 @@
|
||||
|
||||
RSpec.describe "AI Spam Configuration", type: :system, js: true do
|
||||
fab!(:admin)
|
||||
let(:llm_model) { Fabricate(:llm_model) }
|
||||
|
||||
before do
|
||||
SiteSetting.discourse_ai_enabled = true
|
||||
sign_in(admin)
|
||||
end
|
||||
|
||||
it "can properly configure spam settings" do
|
||||
visit "/admin/plugins/discourse-ai/ai-spam"
|
||||
context "when no LLMs are configured" do
|
||||
it "shows the placeholder when no LLM is configured" do
|
||||
visit "/admin/plugins/discourse-ai/ai-spam"
|
||||
|
||||
expect(page).to have_css(".ai-spam__llm-placeholder")
|
||||
expect(page).to have_css(".ai-spam__llm-placeholder")
|
||||
|
||||
toggle = PageObjects::Components::DToggleSwitch.new(".ai-spam__toggle")
|
||||
toggle = PageObjects::Components::DToggleSwitch.new(".ai-spam__toggle")
|
||||
|
||||
toggle.toggle
|
||||
dialog = PageObjects::Components::Dialog.new
|
||||
expect(dialog).to have_content(I18n.t("discourse_ai.llm.configuration.must_select_model"))
|
||||
dialog.click_ok
|
||||
toggle.toggle
|
||||
dialog = PageObjects::Components::Dialog.new
|
||||
expect(dialog).to have_content(I18n.t("discourse_ai.llm.configuration.must_select_model"))
|
||||
dialog.click_ok
|
||||
|
||||
expect(toggle.unchecked?).to eq(true)
|
||||
expect(toggle.unchecked?).to eq(true)
|
||||
end
|
||||
end
|
||||
context "when LLMs are configured" do
|
||||
fab!(:llm_model)
|
||||
it "can properly configure spam settings" do
|
||||
visit "/admin/plugins/discourse-ai/ai-spam"
|
||||
|
||||
llm_model
|
||||
visit "/admin/plugins/discourse-ai/ai-spam"
|
||||
toggle = PageObjects::Components::DToggleSwitch.new(".ai-spam__toggle")
|
||||
toggle.toggle
|
||||
|
||||
toggle = PageObjects::Components::DToggleSwitch.new(".ai-spam__toggle")
|
||||
toggle.toggle
|
||||
try_until_success { expect(AiModerationSetting.spam&.llm_model_id).to eq(llm_model.id) }
|
||||
|
||||
try_until_success { expect(AiModerationSetting.spam&.llm_model_id).to eq(llm_model.id) }
|
||||
find(".ai-spam__instructions-input").fill_in(with: "Test spam detection instructions")
|
||||
find(".ai-spam__instructions-save").click
|
||||
|
||||
find(".ai-spam__instructions-input").fill_in(with: "Test spam detection instructions")
|
||||
find(".ai-spam__instructions-save").click
|
||||
toasts = PageObjects::Components::Toasts.new
|
||||
expect(toasts).to have_content(I18n.t("js.discourse_ai.spam.settings_saved"))
|
||||
|
||||
toasts = PageObjects::Components::Toasts.new
|
||||
expect(toasts).to have_content(I18n.t("js.discourse_ai.spam.settings_saved"))
|
||||
expect(AiModerationSetting.spam.custom_instructions).to eq("Test spam detection instructions")
|
||||
|
||||
expect(AiModerationSetting.spam.custom_instructions).to eq("Test spam detection instructions")
|
||||
visit "/admin/plugins/discourse-ai/ai-llms"
|
||||
|
||||
visit "/admin/plugins/discourse-ai/ai-llms"
|
||||
|
||||
expect(find(".ai-llm-list-editor__usages")).to have_content(
|
||||
I18n.t("js.discourse_ai.llms.usage.ai_spam"),
|
||||
)
|
||||
expect(find(".ai-llm-list-editor__usages")).to have_content(
|
||||
I18n.t("js.discourse_ai.llms.usage.ai_spam"),
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user