77 lines
1.6 KiB
Go
77 lines
1.6 KiB
Go
package extension_playground
|
|
|
|
import (
|
|
"os"
|
|
"seanime/internal/api/anilist"
|
|
"seanime/internal/api/metadata"
|
|
"seanime/internal/extension"
|
|
"seanime/internal/platforms/anilist_platform"
|
|
"seanime/internal/test_utils"
|
|
"seanime/internal/util"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestGojaAnimeTorrentProvider(t *testing.T) {
|
|
test_utils.SetTwoLevelDeep()
|
|
test_utils.InitTestProvider(t, test_utils.Anilist())
|
|
|
|
logger := util.NewLogger()
|
|
|
|
anilistClient := anilist.TestGetMockAnilistClient()
|
|
platform := anilist_platform.NewAnilistPlatform(anilistClient, logger)
|
|
metadataProvider := metadata.GetMockProvider(t)
|
|
|
|
repo := NewPlaygroundRepository(logger, platform, metadataProvider)
|
|
|
|
// Get the script
|
|
filepath := "../extension_repo/goja_torrent_test/my-torrent-provider.ts"
|
|
fileB, err := os.ReadFile(filepath)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
params := RunPlaygroundCodeParams{
|
|
Type: extension.TypeAnimeTorrentProvider,
|
|
Language: extension.LanguageTypescript,
|
|
Code: string(fileB),
|
|
Inputs: nil,
|
|
Function: "",
|
|
}
|
|
|
|
tests := []struct {
|
|
name string
|
|
inputs map[string]interface{}
|
|
function string
|
|
}{
|
|
{
|
|
name: "Search",
|
|
function: "search",
|
|
inputs: map[string]interface{}{
|
|
"query": "One Piece",
|
|
"mediaId": 21,
|
|
},
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
params.Function = tt.function
|
|
params.Inputs = tt.inputs
|
|
|
|
resp, err := repo.RunPlaygroundCode(¶ms)
|
|
require.NoError(t, err)
|
|
|
|
t.Log("Logs:")
|
|
|
|
t.Log(resp.Logs)
|
|
|
|
t.Log("\n\nValue:")
|
|
|
|
t.Log(resp.Value)
|
|
})
|
|
}
|
|
|
|
}
|