Add task sidebar workflow
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
package app
|
||||
|
||||
import "testing"
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/hjbdev/patterm/internal/task"
|
||||
)
|
||||
|
||||
func TestVisibleSessionTreeScopesToFocusedRoot(t *testing.T) {
|
||||
root1 := testChild("c1", "root1", "", StatusRunning)
|
||||
@@ -125,6 +129,34 @@ func TestSidebarNavListIncludesProcessesAboveAgentTree(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestSidebarNavOrdersTasksBeforeProcessesAndPads(t *testing.T) {
|
||||
p := testProcess("p1", "bun", StatusRunning)
|
||||
r := testAgent("a1", "claude", "", StatusRunning)
|
||||
tasks := []task.Task{{ID: "t1", Title: "Fix sidebar"}}
|
||||
nav := sidebarNav([]*Child{p, r}, "a1", tasks, nil)
|
||||
if len(nav) != 3 {
|
||||
t.Fatalf("nav len = %d, want 3 (%+v)", len(nav), nav)
|
||||
}
|
||||
if !nav[0].isTask() || nav[0].taskID != "t1" {
|
||||
t.Fatalf("first nav entry = %+v, want task t1", nav[0])
|
||||
}
|
||||
if !nav[1].isChild() || nav[1].childID != "p1" {
|
||||
t.Fatalf("second nav entry = %+v, want process p1", nav[1])
|
||||
}
|
||||
if !nav[2].isChild() || nav[2].childID != "a1" {
|
||||
t.Fatalf("third nav entry = %+v, want agent a1", nav[2])
|
||||
}
|
||||
}
|
||||
|
||||
func TestNextNavEntryWalksFromTaskToProcess(t *testing.T) {
|
||||
p := testProcess("p1", "bun", StatusRunning)
|
||||
tasks := []task.Task{{ID: "t1", Title: "Fix sidebar"}}
|
||||
next := nextNavEntry([]*Child{p}, "", "", "t1", "", tasks, nil, +1)
|
||||
if !next.isChild() || next.childID != "p1" {
|
||||
t.Fatalf("task -> next = %+v, want process p1", next)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSidebarNavListIncludesExitedProcesses(t *testing.T) {
|
||||
p := testProcess("p1", "shell", StatusExited)
|
||||
r := testAgent("a1", "claude", "", StatusRunning)
|
||||
|
||||
Reference in New Issue
Block a user