refactor: split modules and harden scraping workflows

This commit is contained in:
ShukeBta
2026-06-24 11:59:18 +08:00
parent efca3cbe69
commit 192f35d9fa
470 changed files with 47957 additions and 33839 deletions
+29
View File
@@ -0,0 +1,29 @@
package service
import (
"testing"
"github.com/ShukeBta/MediaStationGo/internal/model"
)
func TestMediaSeriesKeyCollapsesNestedSpecialFolders(t *testing.T) {
main := model.Media{
LibraryID: "lib-tv",
Path: `cloud://openlist/动漫/国漫/示例剧/Season 01/示例剧.S01E01.mkv`,
SeasonNum: 1,
EpisodeNum: 1,
}
special := model.Media{
LibraryID: "lib-tv",
Path: `cloud://openlist/动漫/国漫/示例剧/Extras/Season 01/示例剧.SP01.mkv`,
}
if got, want := mediaSeriesKey(special), mediaSeriesKey(main); got != want {
t.Fatalf("special key=%q, want main key=%q", got, want)
}
cards := groupMediaSeriesCards([]model.Media{main, special})
if len(cards) != 1 || cards[0].Count != 2 {
t.Fatalf("cards=%#v, want one merged series card with two items", cards)
}
}