From 36ce88f356d1d67cc929f54449bddf4c57d0079a Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 10 Sep 2024 15:21:03 +1000 Subject: [PATCH] FIX: support case insensitive setting lookup (#795) --- lib/ai_bot/tools/setting_context.rb | 2 +- spec/lib/modules/ai_bot/tools/setting_context_spec.rb | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/ai_bot/tools/setting_context.rb b/lib/ai_bot/tools/setting_context.rb index 17996af0..c8acf5aa 100644 --- a/lib/ai_bot/tools/setting_context.rb +++ b/lib/ai_bot/tools/setting_context.rb @@ -44,7 +44,7 @@ module DiscourseAi end def setting_name - parameters[:setting_name] + @setting_name ||= parameters[:setting_name].to_s.downcase.gsub(" ", "_") end def invoke diff --git a/spec/lib/modules/ai_bot/tools/setting_context_spec.rb b/spec/lib/modules/ai_bot/tools/setting_context_spec.rb index a8dce462..36240ffb 100644 --- a/spec/lib/modules/ai_bot/tools/setting_context_spec.rb +++ b/spec/lib/modules/ai_bot/tools/setting_context_spec.rb @@ -30,6 +30,15 @@ RSpec.describe DiscourseAi::AiBot::Tools::SettingContext, if: has_rg? do expect(result[:context]).to include("moderators_view_emails") end + it "supports spaces and case insensitive setting name" do + result = setting_context("moderaTors View Emails").invoke + + expect(result[:setting_name]).to eq("moderators_view_emails") + + expect(result[:context]).to include("site_settings.yml") + expect(result[:context]).to include("moderators_view_emails") + end + it "returns the context for plugin setting" do result = setting_context("ai_bot_enabled").invoke