package config import ( "testing" "github.com/spf13/viper" ) func TestGetModel(t *testing.T) { // Reset viper for testing viper.Reset() viper.SetDefault("default_model", "grok-4") tests := []struct { name string flagModel string expected string }{ { name: "returns flag model when provided", flagModel: "grok-beta", expected: "grok-beta", }, { name: "returns default when flag empty", flagModel: "", expected: "grok-4", }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { result := GetModel(tt.flagModel) if result != tt.expected { t.Errorf("GetModel(%q) = %q, want %q", tt.flagModel, result, tt.expected) } }) } } func TestGetModelWithAlias(t *testing.T) { viper.Reset() viper.Set("aliases.beta", "grok-beta-2") viper.SetDefault("default_model", "grok-4") result := GetModel("beta") expected := "grok-beta-2" if result != expected { t.Errorf("GetModel('beta') = %q, want %q", result, expected) } } func TestLoad(t *testing.T) { // Just ensure Load doesn't panic Load() }