package routing

import (
	"testing"

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

func TestHumanMentionRecipientMemberIDsTrimsAndSkipsEmpty(t *testing.T) {
	recipients := []HumanMentionRecipient{{MemberID: " mem_1 "}, {MemberID: ""}, {MemberID: "mem_2"}}
	require.Equal(t, []string{"mem_1", "mem_2"}, HumanMentionRecipientMemberIDs(recipients))
}

func TestMentionContextForTarget(t *testing.T) {
	require.Equal(t, MentionContext{ChannelType: "channel"}, MentionContextForTarget(ThreadAccess{ThreadType: "channel"}))
	require.Equal(t, MentionContext{
		ChannelType:       "thread",
		ParentChannelID:   "chan_1",
		ParentChannelType: "channel",
		ParentMessageID:   "msg_1",
	}, MentionContextForTarget(ThreadAccess{
		ThreadType: "channel",
		ReplyThread: &ReplyThreadTarget{
			ParentChannelID: " chan_1 ",
			ParentMessageID: " msg_1 ",
		},
	}))
}
