package project_test import ( "os" "path/filepath" "testing" "task/internal/project" ) func TestDirStoreDelete(t *testing.T) { dir := t.TempDir() store := project.NewDirStore(dir) if err := store.Ensure("inbox"); err != nil { t.Fatal(err) } if err := store.Ensure("client"); err != nil { t.Fatal(err) } // Drop a marker file so RemoveAll has something to wipe. marker := filepath.Join(dir, "projects", "client", "tickets.json") if err := os.WriteFile(marker, []byte("[]\n"), 0o644); err != nil { t.Fatal(err) } list, err := store.List() if err != nil || len(list) != 2 { t.Fatalf("list before: %v len=%d", err, len(list)) } if err := store.Delete("client"); err != nil { t.Fatal(err) } list, err = store.List() if err != nil || len(list) != 1 || list[0].ID != "inbox" { t.Fatalf("list after: %v %+v", err, list) } if _, err := os.Stat(filepath.Join(dir, "projects", "client")); !os.IsNotExist(err) { t.Fatalf("client dir still present: %v", err) } if err := store.Delete("missing"); err == nil { t.Fatal("expected error deleting missing project") } }