package message

import (
	"testing"

	"github.com/stretchr/testify/require"
)

func TestFormatThreadShareCardTranscript(t *testing.T) {
	t.Parallel()
	expanded := FormatThreadShareCardTranscript(ScopeMessageRecord{
		MessageType: MessageTypeThreadShareCard,
		Content:     "Shared topic: deepdive https://github.com/cobusgreyling/agentteam-engineering",
	}, ThreadShareCardTranscript{
		SourceLabel:      "agentteam-in-agentteam",
		Title:            "deepdive https://github.com/cobusgreyling/agentteam-engineering",
		MessageCount:     2,
		ParticipantCount: 2,
		Messages: []ThreadShareSnapshotMessage{
			{AuthorName: "Hao", Content: "root discussion body"},
		},
	})

	require.Contains(t, expanded, "Shared topic: deepdive https://github.com/cobusgreyling/agentteam-engineering")
	require.Contains(t, expanded, "[Shared topic card snapshot]")
	require.Contains(t, expanded, "source: agentteam-in-agentteam")
	require.Contains(t, expanded, "Hao: root discussion body")

	require.Equal(t, "ordinary content", FormatThreadShareCardTranscript(ScopeMessageRecord{
		MessageType: "text",
		Content:     "ordinary content",
	}, ThreadShareCardTranscript{Title: "ignored"}))
}
