Files
MeBox/internal/service/local_metadata_apply_test.go
T

39 lines
1.2 KiB
Go

package service
import (
"testing"
"github.com/ShukeBta/MediaStationGo/internal/model"
)
func TestApplyLocalMetadataPreservesPathHintAsPending(t *testing.T) {
media := &model.Media{Title: "原始标题", ScrapeStatus: "pending"}
applyLocalMetadata(media, &LocalMetadata{
Title: "路径标题",
Year: 2026,
TMDbID: 12345,
PathHint: true,
})
if media.Title != "路径标题" || media.Year != 2026 || media.TMDbID != 12345 {
t.Fatalf("path hint metadata was not applied: %+v", media)
}
if media.ScrapeStatus != "pending" {
t.Fatalf("path hints alone must stay enrichable, got scrape_status=%q", media.ScrapeStatus)
}
}
func TestApplyLocalMetadataMarksNFOAndDescriptiveMetadataMatched(t *testing.T) {
nfoMedia := &model.Media{ScrapeStatus: "pending"}
applyLocalMetadata(nfoMedia, &LocalMetadata{HasNFO: true})
if nfoMedia.ScrapeStatus != "matched" {
t.Fatalf("NFO metadata should mark matched, got %q", nfoMedia.ScrapeStatus)
}
descriptiveMedia := &model.Media{ScrapeStatus: "pending"}
applyLocalMetadata(descriptiveMedia, &LocalMetadata{Overview: "剧情简介"})
if descriptiveMedia.ScrapeStatus != "matched" {
t.Fatalf("descriptive metadata should mark matched, got %q", descriptiveMedia.ScrapeStatus)
}
}