37 lines
1.1 KiB
Go
37 lines
1.1 KiB
Go
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)
|
|
}
|
|
}
|