mirror of
https://github.com/truewhile/MeBox.git
synced 2026-10-12 08:16:37 +08:00
重构核心模块并同步更新项目配置与相关实现
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/truewhile/MeBox/internal/model"
|
||||
)
|
||||
|
||||
func TestMediaDisplayLibraryResolverUsesMostSpecificPath(t *testing.T) {
|
||||
root := t.TempDir()
|
||||
parentPath := filepath.Join(root, "media")
|
||||
nestedPath := filepath.Join(parentPath, "anime")
|
||||
parent := model.Library{
|
||||
Base: model.Base{ID: "parent"},
|
||||
Name: "媒体",
|
||||
Path: parentPath,
|
||||
Enabled: true,
|
||||
}
|
||||
nested := model.Library{
|
||||
Base: model.Base{ID: "nested"},
|
||||
Name: "动漫",
|
||||
Path: nestedPath,
|
||||
Enabled: true,
|
||||
}
|
||||
|
||||
resolver := newMediaDisplayLibraryResolver(t.Context(), nil, []model.Library{parent, nested})
|
||||
got, ok := resolver.DisplayLibraryForMedia(model.Media{
|
||||
LibraryID: parent.ID,
|
||||
Path: filepath.Join(nestedPath, "Show", "S01E01.mkv"),
|
||||
})
|
||||
if !ok || got.ID != nested.ID {
|
||||
t.Fatalf("display library = %q, %t; want nested library", got.ID, ok)
|
||||
}
|
||||
|
||||
got, ok = resolver.DisplayLibraryForMedia(model.Media{
|
||||
LibraryID: parent.ID,
|
||||
Path: filepath.Join(parentPath, "Movie", "Movie.mkv"),
|
||||
})
|
||||
if !ok || got.ID != parent.ID {
|
||||
t.Fatalf("display library = %q, %t; want parent library", got.ID, ok)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user