Files
silo-server/internal/api/handlers/watch_tonight_cards_test.go
T

34 lines
935 B
Go

package handlers
import (
"testing"
"github.com/Silo-Server/silo-server/internal/recommendations"
)
func TestRecommendationCardItemsPreservesRankedOrder(t *testing.T) {
candidates := []recommendations.ScoredItem{
{MediaItemID: "multi-genre-match", Score: 0.4},
{MediaItemID: "excluded", Score: 0.99},
{MediaItemID: "single-genre-high-score", Score: 0.8},
{MediaItemID: "single-genre-low-score", Score: 0.2},
}
excluded := map[string]struct{}{"excluded": {}}
cards := recommendationCardItems(candidates, excluded)
got := make([]string, len(cards))
for i, card := range cards {
got[i] = card.scored.MediaItemID
}
want := []string{"multi-genre-match", "single-genre-high-score", "single-genre-low-score"}
if len(got) != len(want) {
t.Fatalf("got %d cards, want %d: %#v", len(got), len(want), got)
}
for i := range want {
if got[i] != want[i] {
t.Fatalf("card order = %#v, want %#v", got, want)
}
}
}