返回 DeepSeek-Reasonix
storage_app_test.go
根目录 / desktop / storage_app_test.go
1 package main
2
3 import (
4 "os"
5 "path/filepath"
6 "testing"
7
8 "reasonix/internal/config"
9 "reasonix/internal/pluginpkg"
10 )
11
12 func TestStorageSettingsReportsRuntimeOwnedPaths(t *testing.T) {
13 home := t.TempDir()
14 t.Setenv("REASONIX_HOME", home)
15 cache := filepath.Join(t.TempDir(), "cache")
16 t.Setenv("REASONIX_CACHE_HOME", cache)
17
18 view := (&App{}).StorageSettings()
19 if view.StatePath != config.MemoryUserDir() {
20 t.Fatalf("state path = %q, want %q", view.StatePath, config.MemoryUserDir())
21 }
22 if view.CachePath != config.CacheDir() {
23 t.Fatalf("cache path = %q, want %q", view.CachePath, config.CacheDir())
24 }
25 if want := pluginpkg.PluginsDir(config.ReasonixHomeDir()); view.ExtensionsPath != want {
26 t.Fatalf("extensions path = %q, want %q", view.ExtensionsPath, want)
27 }
28 }
29
30 func TestStorageSettingsReportsRememberedWorkspace(t *testing.T) {
31 home := t.TempDir()
32 t.Setenv("REASONIX_HOME", home)
33 workspace := filepath.Join(t.TempDir(), "workspace")
34 if err := os.MkdirAll(workspace, 0o755); err != nil {
35 t.Fatal(err)
36 }
37 saveWorkspace(workspace)
38
39 if got := (&App{}).StorageSettings().DefaultWorkspace; got != workspace {
40 t.Fatalf("default workspace = %q, want %q", got, workspace)
41 }
42 }
43
44 func TestStorageSettingsFallsBackToWorkingDirectory(t *testing.T) {
45 home := t.TempDir()
46 t.Setenv("REASONIX_HOME", home)
47 workspace, err := os.Getwd()
48 if err != nil {
49 t.Fatal(err)
50 }
51 saveWorkspace(filepath.Join(t.TempDir(), "missing"))
52
53 if got := (&App{}).StorageSettings().DefaultWorkspace; got != workspace {
54 t.Fatalf("default workspace = %q, want cwd %q", got, workspace)
55 }
56 }
57
57 lines GO