From be4d606e9a1f5b068abcc21bbac58d1e4705ea1f Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Fri, 17 Jul 2026 22:46:18 +0000 Subject: Extend chain creation to accept per-task description and priority CreateChain and POST /api/widget/chains previously only took bare title strings, with priority hardcoded to 1 -- narrower than the spec's "an ordered list of task titles/descriptions" API line. Now accepts []models.ChainTaskInput{Content, Description, Priority} per position, priority defaulting to 1 when omitted. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01EZ7ikw2ukGJFTHE3bJS7zL --- internal/handlers/chains_test.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'internal/handlers/chains_test.go') diff --git a/internal/handlers/chains_test.go b/internal/handlers/chains_test.go index 0ebcc7a..bf657d1 100644 --- a/internal/handlers/chains_test.go +++ b/internal/handlers/chains_test.go @@ -9,6 +9,8 @@ import ( "testing" "github.com/go-chi/chi/v5" + + "task-dashboard/internal/models" ) func withURLParam(req *http.Request, key, value string) *http.Request { @@ -22,7 +24,7 @@ func TestHandleWidgetChainsCreate_CreatesChain(t *testing.T) { defer cleanup() h := &Handler{store: db} - body := `{"name":"Ham Radio Track","tasks":["Study Technician","Pass exam"]}` + body := `{"name":"Ham Radio Track","tasks":[{"content":"Study Technician"},{"content":"Pass exam","description":"Pick a date","priority":3}]}` req := httptest.NewRequest("POST", "/api/widget/chains", strings.NewReader(body)) w := httptest.NewRecorder() h.HandleWidgetChainsCreate(w, req) @@ -67,7 +69,7 @@ func TestHandleWidgetChainGet_ReturnsChainAndTasks(t *testing.T) { defer cleanup() h := &Handler{store: db} - chain, err := h.store.CreateChain("Track", []string{"Step 1", "Step 2"}) + chain, err := h.store.CreateChain("Track", []models.ChainTaskInput{{Content: "Step 1"}, {Content: "Step 2"}}) if err != nil { t.Fatal(err) } @@ -107,7 +109,7 @@ func TestHandleWidgetChainsPauseResumeAbandon(t *testing.T) { defer cleanup() h := &Handler{store: db} - chain, err := h.store.CreateChain("Track", []string{"Step 1", "Step 2"}) + chain, err := h.store.CreateChain("Track", []models.ChainTaskInput{{Content: "Step 1"}, {Content: "Step 2"}}) if err != nil { t.Fatal(err) } -- cgit v1.2.3