返回 DeepSeek-Reasonix
global_folder_visibility_test.go
根目录 / desktop / global_folder_visibility_test.go
1 package main
2
3 import "testing"
4
5 func TestGlobalFolderAfterProjectCreatedFollowsGlobalConversations(t *testing.T) {
6 cases := []struct {
7 name string
8 openGlobal func(*App) error
9 wantGlobal bool
10 }{
11 {name: "untouched", openGlobal: func(*App) error { return nil }},
12 {name: "draft target without a conversation", openGlobal: func(a *App) error {
13 _, _ = a.OpenSessionDraftForTarget("global", "")
14 return nil
15 }},
16 {name: "blank conversation", wantGlobal: true, openGlobal: func(a *App) error {
17 _, err := a.EnsureBlankSurface("global", "")
18 return err
19 }},
20 }
21 for _, tc := range cases {
22 t.Run(tc.name, func(t *testing.T) {
23 isolateDesktopUserDirs(t)
24 app := NewApp()
25 if err := tc.openGlobal(app); err != nil {
26 t.Fatalf("open global surface: %v", err)
27 }
28 if _, err := app.SwitchWorkspace(t.TempDir()); err != nil {
29 t.Fatalf("SwitchWorkspace: %v", err)
30 }
31 gotGlobal := false
32 for _, node := range mustListProjectTree(t, app) {
33 gotGlobal = gotGlobal || node.Kind == "global_folder"
34 }
35 if gotGlobal != tc.wantGlobal {
36 t.Fatalf("Global folder listed = %v, want %v after a project was created", gotGlobal, tc.wantGlobal)
37 }
38 })
39 }
40 }
41
41 lines GO