settings_store_test.go RawHistoryFolder
1package agent
2
3import "testing"
4
5func TestConfigSettingsStorePersistsShowInstructionsAtStartup(t *testing.T) {
6 t.Setenv("ZOT_HOME", t.TempDir())
7 if err := SaveConfig(Config{Theme: "dark"}); err != nil {
8 t.Fatal(err)
9 }
10
11 if err := (configSettingsStore{}).SetShowInstructionsAtStartup(true); err != nil {
12 t.Fatal(err)
13 }
14 cfg, err := LoadConfig()
15 if err != nil {
16 t.Fatal(err)
17 }
18 if cfg.ShowInstructionsAtStartup == nil || !*cfg.ShowInstructionsAtStartup {
19 t.Fatal("show_instructions_at_startup was not persisted as enabled")
20 }
21 if cfg.Theme != "dark" {
22 t.Fatalf("unrelated config changed: theme = %q, want dark", cfg.Theme)
23 }
24}
25
26func TestConfigSettingsStorePersistsOpenRouterServerTools(t *testing.T) {
27 t.Setenv("ZOT_HOME", t.TempDir())
28 if err := SaveConfig(Config{Theme: "dark"}); err != nil {
29 t.Fatal(err)
30 }
31
32 if err := (configSettingsStore{}).SetOpenRouterServerTools(false); err != nil {
33 t.Fatal(err)
34 }
35 cfg, err := LoadConfig()
36 if err != nil {
37 t.Fatal(err)
38 }
39 if cfg.OpenRouterServerToolsEnabled == nil || *cfg.OpenRouterServerToolsEnabled {
40 t.Fatal("openrouter_server_tools_enabled was not persisted as disabled")
41 }
42 if cfg.Theme != "dark" {
43 t.Fatalf("unrelated config changed: theme = %q, want dark", cfg.Theme)
44 }
45}
46
47func TestOpenRouterServerToolsEnabledDefaultsOff(t *testing.T) {
48 t.Setenv("ZOT_HOME", t.TempDir())
49 if err := SaveConfig(Config{}); err != nil {
50 t.Fatal(err)
51 }
52 if OpenRouterServerToolsEnabled() {
53 t.Fatal("nil preference should default to disabled")
54 }
55}
56
57func TestConfigSettingsStorePersistsJailByDefault(t *testing.T) {
58 t.Setenv("ZOT_HOME", t.TempDir())
59 if err := SaveConfig(Config{Theme: "dark"}); err != nil {
60 t.Fatal(err)
61 }
62
63 if err := (configSettingsStore{}).SetJailByDefault(true); err != nil {
64 t.Fatal(err)
65 }
66 cfg, err := LoadConfig()
67 if err != nil {
68 t.Fatal(err)
69 }
70 if cfg.JailByDefault == nil || !*cfg.JailByDefault {
71 t.Fatal("jail_by_default was not persisted as enabled")
72 }
73 if cfg.Theme != "dark" {
74 t.Fatalf("unrelated config changed: theme = %q, want dark", cfg.Theme)
75 }
76}
77
78func TestConfigSettingsStorePersistsAutoCompactThreshold(t *testing.T) {
79 t.Setenv("ZOT_HOME", t.TempDir())
80 if err := SaveConfig(Config{Theme: "dark"}); err != nil {
81 t.Fatal(err)
82 }
83
84 if err := (configSettingsStore{}).SetAutoCompactThreshold(70); err != nil {
85 t.Fatal(err)
86 }
87 cfg, err := LoadConfig()
88 if err != nil {
89 t.Fatal(err)
90 }
91 if cfg.AutoCompactThreshold == nil || *cfg.AutoCompactThreshold != 70 {
92 t.Fatalf("auto_compact_threshold = %v, want 70", cfg.AutoCompactThreshold)
93 }
94 if cfg.Theme != "dark" {
95 t.Fatalf("unrelated config changed: theme = %q, want dark", cfg.Theme)
96 }
97}