package registry import "testing" // TestDefaultCaps_UnknownModelStillReportsUsage sichert einen konkreten Bug // ab: für unbekannte Modelle (z.B. neue OpenAI-Modelle, die noch nicht in // `known` stehen) darf UsageInStream nicht fälschlich auf false fallen — // sonst bleiben Token-/Cache-Zahlen in der UI dauerhaft bei 0, obwohl der // Endpoint stream_options.include_usage längst unterstützt. func TestDefaultCaps_UnknownModelStillReportsUsage(t *testing.T) { caps := DefaultCaps("gpt-5-nano") // absichtlich nicht in der known-Tabelle if !caps.UsageInStream { t.Error("unknown model should default to UsageInStream=true, not silently disable usage reporting") } } func TestDefaultCaps_KnownModelUsesTable(t *testing.T) { caps := DefaultCaps("gpt-4o") if caps.MaxContext != 128000 { t.Errorf("MaxContext = %d, want 128000 for a known model", caps.MaxContext) } } func TestApply_OverridesOnlySetFields(t *testing.T) { base := DefaultCaps("gpt-4o") disabled := false got := Apply(base, CapsOverride{UsageInStream: &disabled}) if got.UsageInStream { t.Error("explicit override to false must take effect") } if got.MaxContext != base.MaxContext { t.Error("fields not present in the override must stay untouched") } }