mirror of
https://github.com/truewhile/MeBox.git
synced 2026-09-29 03:26:37 +08:00
45 lines
995 B
Go
45 lines
995 B
Go
package service
|
|
|
|
import (
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
"github.com/glebarez/sqlite"
|
|
"go.uber.org/zap"
|
|
"gorm.io/gorm"
|
|
|
|
"github.com/ShukeBta/MediaStationGo/internal/model"
|
|
"github.com/ShukeBta/MediaStationGo/internal/repository"
|
|
)
|
|
|
|
func TestSubtitleDiscoverNoTracksReturnsEmptySlice(t *testing.T) {
|
|
db, err := gorm.Open(sqlite.Open("file::memory:?cache=shared"), &gorm.Config{})
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if err := db.AutoMigrate(&model.Library{}, &model.Media{}); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
dir := t.TempDir()
|
|
media := model.Media{
|
|
Title: "No Subtitles",
|
|
Path: filepath.Join(dir, "No Subtitles.mkv"),
|
|
}
|
|
if err := db.Create(&media).Error; err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
svc := NewSubtitleService(zap.NewNop(), repository.New(db))
|
|
tracks, err := svc.Discover(t.Context(), media.ID)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if tracks == nil {
|
|
t.Fatal("tracks is nil, want empty slice")
|
|
}
|
|
if len(tracks) != 0 {
|
|
t.Fatalf("len(tracks) = %d, want 0", len(tracks))
|
|
}
|
|
}
|