mirror of
https://github.com/truewhile/MeBox.git
synced 2026-10-10 23:36:37 +08:00
fix library preview series counts
This commit is contained in:
@@ -2,6 +2,7 @@ package service
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/ShukeBta/MediaStationGo/internal/model"
|
||||
)
|
||||
@@ -28,6 +29,45 @@ func TestMediaSeriesKeyCollapsesNestedSpecialFolders(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestGroupMediaSeriesCardsSortsByLatestEpisodeTime(t *testing.T) {
|
||||
now := time.Date(2026, 7, 2, 12, 0, 0, 0, time.UTC)
|
||||
newerFirstEpisode := model.Media{
|
||||
Base: model.Base{CreatedAt: now.Add(-72 * time.Hour), UpdatedAt: now.Add(-72 * time.Hour)},
|
||||
LibraryID: "lib-tv",
|
||||
Title: "更新合集",
|
||||
Path: `F:\media\电视剧\国产剧\更新合集\Season 01\更新合集.S01E01.mkv`,
|
||||
SeasonNum: 1,
|
||||
EpisodeNum: 1,
|
||||
}
|
||||
newerLatestEpisode := model.Media{
|
||||
Base: model.Base{CreatedAt: now, UpdatedAt: now},
|
||||
LibraryID: "lib-tv",
|
||||
Title: "更新合集",
|
||||
Path: `F:\media\电视剧\国产剧\更新合集\Season 01\更新合集.S01E02.mkv`,
|
||||
SeasonNum: 1,
|
||||
EpisodeNum: 2,
|
||||
}
|
||||
olderSeries := model.Media{
|
||||
Base: model.Base{CreatedAt: now.Add(-24 * time.Hour), UpdatedAt: now.Add(-24 * time.Hour)},
|
||||
LibraryID: "lib-tv",
|
||||
Title: "较早合集",
|
||||
Path: `F:\media\电视剧\国产剧\较早合集\Season 01\较早合集.S01E01.mkv`,
|
||||
SeasonNum: 1,
|
||||
EpisodeNum: 1,
|
||||
}
|
||||
|
||||
cards := groupMediaSeriesCards([]model.Media{olderSeries, newerFirstEpisode, newerLatestEpisode})
|
||||
if len(cards) != 2 {
|
||||
t.Fatalf("cards=%#v, want two series cards", cards)
|
||||
}
|
||||
if cards[0].Key != mediaSeriesKey(newerFirstEpisode) {
|
||||
t.Fatalf("first card key=%q, want latest series key=%q", cards[0].Key, mediaSeriesKey(newerFirstEpisode))
|
||||
}
|
||||
if cards[0].Count != 2 {
|
||||
t.Fatalf("latest series count=%d, want 2", cards[0].Count)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMediaSeriesKeyCollapsesSpecialTitleSuffix(t *testing.T) {
|
||||
main := model.Media{
|
||||
LibraryID: "lib-tv",
|
||||
|
||||
Reference in New Issue
Block a user