thread-master/apps/backend/internal/module/inspire/usecase/trends_extract_test.go

37 lines
1.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package usecase
import (
"strings"
"testing"
"apps/backend/internal/module/search"
"github.com/stretchr/testify/require"
)
func TestExtractTopicLabels_FromGQStyleTitle(t *testing.T) {
// 報導標題 → 應抽出「二砂糖」「炎上展」這類短話題,而不是整段新聞標題
h := search.Hit{
Title: "【一週脆報】本週 Threads 紅什麼:為什麼颱風來襲「二砂糖」比泡麵先被掃空?日本超夯「炎上展」登台",
Snippet: "本週 Threads 完全成了大型苦中作樂現場",
}
labels := extractTopicLabels(h)
require.NotEmpty(t, labels)
joined := strings.Join(labels, " ")
require.Contains(t, joined, "二砂糖")
require.Contains(t, joined, "炎上展")
for _, l := range labels {
require.LessOrEqual(t, len([]rune(l)), 18)
require.NotContains(t, l, "Threads新功能")
}
}
func TestIsMetaThreadsArticle(t *testing.T) {
require.True(t, isMetaThreadsArticle(search.Hit{
Title: "Threads新功能上線AI整理全台「趨勢話題」",
}))
require.False(t, isMetaThreadsArticle(search.Hit{
Title: "本週 Threads 紅什麼:二砂糖與颱風備貨",
}))
}