| 1 | package config |
| 2 | |
| 3 | import ( |
| 4 | "testing" |
| 5 | ) |
| 6 | |
| 7 | func TestSetDefaultModel(t *testing.T) { |
| 8 | c := Default() |
| 9 | if err := c.SetDefaultModel("deepseek-pro"); err != nil { |
| 10 | t.Fatalf("set valid default: %v", err) |
| 11 | } |
| 12 | if c.DefaultModel != "deepseek-pro" { |
| 13 | t.Errorf("default = %q, want deepseek-pro", c.DefaultModel) |
| 14 | } |
| 15 | if err := c.SetDefaultModel("nope"); err == nil { |
| 16 | t.Error("expected error for unknown provider") |
| 17 | } |
| 18 | // "provider/model" form is also accepted: the /model picker stores the |
| 19 | // full ref so a user can land on a non-default model under the same |
| 20 | // provider across restarts. |
| 21 | if err := c.SetDefaultModel("deepseek-pro/deepseek-v4-pro"); err != nil { |
| 22 | t.Fatalf("set provider/model default: %v", err) |
| 23 | } |
| 24 | if c.DefaultModel != "deepseek-pro/deepseek-v4-pro" { |
| 25 | t.Errorf("default = %q, want deepseek-pro/deepseek-v4-pro", c.DefaultModel) |
| 26 | } |
| 27 | if err := c.SetDefaultModel("deepseek-pro/missing"); err == nil { |
| 28 | t.Error("expected error for unknown model under known provider") |
| 29 | } |
| 30 | if err := c.SetDefaultModel(""); err == nil { |
| 31 | t.Error("expected error for empty name") |
| 32 | } |
| 33 | } |
| 34 |