package main import ( "strings" "testing" ) func TestListTrashShowsDeletedNodesAndPhysicalEntries(t *testing.T) { app, _ := setupTestApp(t) n, err := app.CreateNodeFromTemplate("", "Trash Me", "folder.default") if err != nil { t.Fatalf("create node: %v", err) } if err := app.DeleteNode(n.ID); err != nil { t.Fatalf("DeleteNode: %v", err) } trash, err := app.ListTrash() if err != nil { t.Fatalf("ListTrash: %v", err) } var foundNode bool for _, node := range trash.Nodes { if node.ID == n.ID && node.Title == "Trash Me" && node.DeletedAt != "" { foundNode = true break } } if !foundNode { t.Fatalf("deleted node %s missing from trash nodes: %#v", n.ID, trash.Nodes) } var foundPhysical bool for _, entry := range trash.Entries { if strings.Contains(entry.Name, n.ID) && entry.IsDir { foundPhysical = true break } } if !foundPhysical { t.Fatalf("physical trash entry for %s missing: %#v", n.ID, trash.Entries) } }