Files
MeBox/internal/service/subtitle_test.go
T

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))
}
}