1package daemon23import (4 "testing"56 "github.com/FelineStateMachine/tinyrelay/internal/event"7)89func TestCollaborationTitleAndSearch(t *testing.T) {10 cases := []struct {11 name string12 event event.Event13 want string14 }{15 {name: "subject tag", event: event.Event{Tags: [][]string{{"subject", "Fix login"}}, Content: "details"}, want: "Fix login"},16 {name: "json title", event: event.Event{Content: `{"title":"Add files"}`}, want: "Add files"},17 {name: "first line", event: event.Event{Content: "Improve docs\nMore details"}, want: "Improve docs"},18 }19 for _, tc := range cases {20 t.Run(tc.name, func(t *testing.T) {21 if got := collaborationTitle(tc.event); got != tc.want {22 t.Fatalf("title = %q, want %q", got, tc.want)23 }24 })25 }26 if !collaborationMatches(event.Event{Tags: [][]string{{"t", "security"}}, Content: "please review"}, "SEC") {27 t.Fatal("label search did not match")28 }29}3031func TestStatusFromEventsUsesNewestEvent(t *testing.T) {32 rows := []event.Event{{ID: "b", Kind: 1630, CreatedAt: 10}, {ID: "a", Kind: 1632, CreatedAt: 11}, {ID: "c", Kind: 1633, CreatedAt: 11}}33 if got := statusFromEvents(event.Event{}, rows); got != "closed" {34 t.Fatalf("status = %q, want closed", got)35 }36}