From 0da8e0cdf9389ee0233dff53d482eb38944be773 Mon Sep 17 00:00:00 2001 From: John O'Keefe Date: Fri, 30 Oct 2026 10:31:02 -0400 Subject: [PATCH] test(settings): cover the new float setting type in the defaults audit TestSettingDefaults enumerates registry types; 'float' hit the unknown- type branch. Added float validation (default parses, within [min,max]) mirroring the int case. --- internal/database/settings_registry_test.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/internal/database/settings_registry_test.go b/internal/database/settings_registry_test.go index 07a455d0..69573211 100644 --- a/internal/database/settings_registry_test.go +++ b/internal/database/settings_registry_test.go @@ -36,6 +36,21 @@ func TestSettingDefaults(t *testing.T) { if _, err := strconv.ParseBool(d.Value); err != nil { t.Errorf("bool setting %s default %q is not a bool", d.Key, d.Value) } + case SettingTypeFloat: + f, err := strconv.ParseFloat(d.Value, 64) + if err != nil { + t.Errorf("float setting %s default %q is not a float", d.Key, d.Value) + } + if d.Min != "" { + if mn, err := strconv.ParseFloat(d.Min, 64); err == nil && f < mn { + t.Errorf("float setting %s default %q below min %q", d.Key, d.Value, d.Min) + } + } + if d.Max != "" { + if mx, err := strconv.ParseFloat(d.Max, 64); err == nil && f > mx { + t.Errorf("float setting %s default %q above max %q", d.Key, d.Value, d.Max) + } + } case SettingTypeString: if d.Value == "" { t.Errorf("string setting %s has empty default", d.Key)