package message

import (
	"testing"

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

func TestHumanMentionHintUserIDsRequiresMatchingDirectToken(t *testing.T) {
	t.Parallel()

	userIDs := humanMentionHintUserIDs([]MessageMentionHint{
		{Type: "human", ID: "usr-zhao", Token: "赵梦梦"},
		{Type: "human", ID: "usr-stale", Token: "未出现"},
		{Type: "agent", ID: "agt-zhao", Token: "赵梦梦"},
	}, []string{"赵梦梦请看一下"})

	require.Equal(t, []string{"usr-zhao"}, userIDs)
}

func TestHumanMentionHintUserIDsDeduplicatesTokens(t *testing.T) {
	t.Parallel()

	userIDs := humanMentionHintUserIDs([]MessageMentionHint{
		{Type: "human", ID: "usr-first", Token: "Alice"},
		{Type: "human", ID: "usr-second", Token: "alice"},
	}, []string{"alice"})

	require.Equal(t, []string{"usr-first"}, userIDs)
}
