112 lines
2.6 KiB
Go
112 lines
2.6 KiB
Go
package torrent
|
|
|
|
import (
|
|
"context"
|
|
"seanime/internal/api/anilist"
|
|
"seanime/internal/platforms/anilist_platform"
|
|
"seanime/internal/test_utils"
|
|
"seanime/internal/util"
|
|
"testing"
|
|
)
|
|
|
|
func TestSmartSearch(t *testing.T) {
|
|
test_utils.InitTestProvider(t)
|
|
|
|
anilistClient := anilist.TestGetMockAnilistClient()
|
|
logger := util.NewLogger()
|
|
anilistPlatform := anilist_platform.NewAnilistPlatform(anilistClient, logger)
|
|
|
|
repo := getTestRepo(t)
|
|
|
|
tests := []struct {
|
|
smartSearch bool
|
|
query string
|
|
episodeNumber int
|
|
batch bool
|
|
mediaId int
|
|
absoluteOffset int
|
|
resolution string
|
|
provider string
|
|
}{
|
|
{
|
|
smartSearch: true,
|
|
query: "",
|
|
episodeNumber: 5,
|
|
batch: false,
|
|
mediaId: 162670, // Dr. Stone S3
|
|
absoluteOffset: 48,
|
|
resolution: "1080",
|
|
provider: "animetosho",
|
|
},
|
|
{
|
|
smartSearch: true,
|
|
query: "",
|
|
episodeNumber: 1,
|
|
batch: true,
|
|
mediaId: 77, // Mahou Shoujo Lyrical Nanoha A's
|
|
absoluteOffset: 0,
|
|
resolution: "1080",
|
|
provider: "animetosho",
|
|
},
|
|
{
|
|
smartSearch: true,
|
|
query: "",
|
|
episodeNumber: 1,
|
|
batch: true,
|
|
mediaId: 109731, // Hibike Season 3
|
|
absoluteOffset: 0,
|
|
resolution: "1080",
|
|
provider: "animetosho",
|
|
},
|
|
{
|
|
smartSearch: true,
|
|
query: "",
|
|
episodeNumber: 1,
|
|
batch: true,
|
|
mediaId: 1915, // Magical Girl Lyrical Nanoha StrikerS
|
|
absoluteOffset: 0,
|
|
resolution: "",
|
|
provider: "animetosho",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.query, func(t *testing.T) {
|
|
|
|
media, err := anilistPlatform.GetAnime(t.Context(), tt.mediaId)
|
|
if err != nil {
|
|
t.Fatalf("could not fetch media id %d", tt.mediaId)
|
|
}
|
|
|
|
data, err := repo.SearchAnime(context.Background(), AnimeSearchOptions{
|
|
Provider: tt.provider,
|
|
Type: AnimeSearchTypeSmart,
|
|
Media: media,
|
|
Query: "",
|
|
Batch: tt.batch,
|
|
EpisodeNumber: tt.episodeNumber,
|
|
BestReleases: false,
|
|
Resolution: tt.resolution,
|
|
})
|
|
if err != nil {
|
|
t.Errorf("NewSmartSearch() failed: %v", err)
|
|
}
|
|
|
|
t.Log("----------------------- Previews --------------------------")
|
|
for _, preview := range data.Previews {
|
|
t.Logf("> %s", preview.Torrent.Name)
|
|
if preview.Episode != nil {
|
|
t.Logf("\t\t %s", preview.Episode.DisplayTitle)
|
|
} else {
|
|
t.Logf("\t\t Batch")
|
|
}
|
|
}
|
|
t.Log("----------------------- Torrents --------------------------")
|
|
for _, torrent := range data.Torrents {
|
|
t.Logf("> %s", torrent.Name)
|
|
}
|
|
|
|
})
|
|
}
|
|
}
|