mirror of
https://github.com/we-promise/sure.git
synced 2026-06-01 00:39:01 +00:00
Merge branch 'main' into feat/goals-v2-architecture
This commit is contained in:
@@ -95,6 +95,55 @@ class Settings::HostingsControllerTest < ActionDispatch::IntegrationTest
|
||||
end
|
||||
end
|
||||
|
||||
# Regression: issue #1824. The OpenAI form auto-submits on blur, so entering
|
||||
# the URI base before the model fires a partial submit that fails validation.
|
||||
# The re-rendered form must show the user's submitted URI base — not the
|
||||
# still-blank saved value — so they can finish typing the model.
|
||||
test "preserves submitted openai uri base in form when validation fails" do
|
||||
with_self_hosting do
|
||||
Setting.openai_uri_base = nil
|
||||
Setting.openai_model = ""
|
||||
|
||||
patch settings_hosting_url, params: { setting: { openai_uri_base: "https://api.example.com/v1" } }
|
||||
|
||||
assert_response :unprocessable_entity
|
||||
assert_select "input[name=?]", "setting[openai_uri_base]" do |inputs|
|
||||
assert_equal "https://api.example.com/v1", inputs.first["value"]
|
||||
end
|
||||
end
|
||||
ensure
|
||||
Setting.openai_uri_base = nil
|
||||
Setting.openai_model = nil
|
||||
end
|
||||
|
||||
# PR #1862 review (jjmata): symmetric coverage for the model field. When the
|
||||
# user changes the URI base and clears the model in the same auto-submit, the
|
||||
# cross-field validation fails — the re-rendered model input must reflect the
|
||||
# user's submitted (cleared) value, not silently revert to the saved model.
|
||||
test "preserves submitted openai model in form when validation fails" do
|
||||
with_self_hosting do
|
||||
Setting.openai_uri_base = "https://saved.example.com/v1"
|
||||
Setting.openai_model = "saved-model"
|
||||
|
||||
patch settings_hosting_url, params: { setting: {
|
||||
openai_uri_base: "https://new.example.com/v1",
|
||||
openai_model: ""
|
||||
} }
|
||||
|
||||
assert_response :unprocessable_entity
|
||||
assert_select "input[name=?]", "setting[openai_uri_base]" do |inputs|
|
||||
assert_equal "https://new.example.com/v1", inputs.first["value"]
|
||||
end
|
||||
assert_select "input[name=?]", "setting[openai_model]" do |inputs|
|
||||
assert_not_equal "saved-model", inputs.first["value"].to_s,
|
||||
"model field must reflect the submitted (cleared) value, not the saved model"
|
||||
end
|
||||
end
|
||||
ensure
|
||||
Setting.openai_uri_base = nil
|
||||
Setting.openai_model = nil
|
||||
end
|
||||
|
||||
test "can update openai model alone when self hosting is enabled" do
|
||||
with_self_hosting do
|
||||
patch settings_hosting_url, params: { setting: { openai_model: "gpt-4" } }
|
||||
|
||||
Reference in New Issue
Block a user