diff --git a/test/models/chat_test.rb b/test/models/chat_test.rb index 7da1c78e5..accf5e0cb 100644 --- a/test/models/chat_test.rb +++ b/test/models/chat_test.rb @@ -47,7 +47,7 @@ class ChatTest < ActiveSupport::TestCase chat = @user.chats.start!(prompt, model: nil) assert_equal 2, chat.messages.count - assert_equal Provider::Openai::DEFAULT_MODEL, chat.messages.find_by!(type: "UserMessage").ai_model + assert_equal Chat.default_model, chat.messages.find_by!(type: "UserMessage").ai_model end end @@ -58,31 +58,35 @@ class ChatTest < ActiveSupport::TestCase chat = @user.chats.start!(prompt, model: "") assert_equal 2, chat.messages.count - assert_equal Provider::Openai::DEFAULT_MODEL, chat.messages.find_by!(type: "UserMessage").ai_model + assert_equal Chat.default_model, chat.messages.find_by!(type: "UserMessage").ai_model end end - test "default_model returns claude when LLM_PROVIDER=anthropic and Anthropic is configured" do + # These three tests assert routing (which provider's effective_model wins), + # not the constant value itself — the assertion side reads through + # Provider::*.effective_model so ENV overrides like ANTHROPIC_MODEL / + # OPENAI_MODEL don't make the tests flake. + test "default_model returns Anthropic's effective_model when LLM_PROVIDER=anthropic and Anthropic is configured" do Provider::Anthropic.stubs(:configured?).returns(true) Setting.stubs(:llm_provider).returns("anthropic") - assert_equal Provider::Anthropic::DEFAULT_MODEL, Chat.default_model + assert_equal Provider::Anthropic.effective_model, Chat.default_model end - test "default_model falls back to OpenAI when Anthropic is preferred but unconfigured" do + test "default_model falls back to OpenAI's effective_model when Anthropic is preferred but unconfigured" do Provider::Anthropic.stubs(:configured?).returns(false) Provider::Openai.stubs(:configured?).returns(true) Setting.stubs(:llm_provider).returns("anthropic") - assert_equal Provider::Openai::DEFAULT_MODEL, Chat.default_model + assert_equal Provider::Openai.effective_model, Chat.default_model end - test "default_model uses Anthropic when OpenAI is unconfigured" do + test "default_model uses Anthropic's effective_model when OpenAI is unconfigured" do Provider::Anthropic.stubs(:configured?).returns(true) Provider::Openai.stubs(:configured?).returns(false) Setting.stubs(:llm_provider).returns("openai") - assert_equal Provider::Anthropic::DEFAULT_MODEL, Chat.default_model + assert_equal Provider::Anthropic.effective_model, Chat.default_model end test "creates with configured model when OPENAI_MODEL env is set" do