fix(server): resolve latest available agent thread

This commit is contained in:
2026-07-10 14:46:30 +08:00
parent 9d47cb9bbd
commit f288eb1365
3 changed files with 54 additions and 10 deletions
@@ -0,0 +1,36 @@
package logic
import (
"testing"
"img_infinite_canvas/internal/domain/design"
)
func TestLatestLovartThreadIDKeepsCurrentNonEmptyThread(t *testing.T) {
threads := []design.AgentThreadSummary{
{AgentThreadID: "thread-current", UpdateTimestamp: 100},
{AgentThreadID: "thread-latest", UpdateTimestamp: 200},
}
if got := latestLovartThreadID("thread-current", threads); got != "thread-current" {
t.Fatalf("expected current non-empty thread, got %q", got)
}
}
func TestLatestLovartThreadIDFallsBackToLatestNonEmptyThread(t *testing.T) {
threads := []design.AgentThreadSummary{
{AgentThreadID: "thread-older", UpdateTimestamp: 100},
{AgentThreadID: "thread-latest", UpdateTimestamp: 300},
{AgentThreadID: "thread-middle", UpdateTimestamp: 200},
}
if got := latestLovartThreadID("thread-empty", threads); got != "thread-latest" {
t.Fatalf("expected latest non-empty thread, got %q", got)
}
}
func TestLatestLovartThreadIDStaysEmptyWithoutHistory(t *testing.T) {
if got := latestLovartThreadID("thread-empty", nil); got != "" {
t.Fatalf("expected empty thread ID, got %q", got)
}
}