Files
seanime-docker/seanime-2.9.10/internal/local/mock.go
2025-09-20 14:08:38 +01:00

49 lines
1.4 KiB
Go

package local
import (
"path/filepath"
"seanime/internal/api/anilist"
"seanime/internal/api/metadata"
"seanime/internal/database/db"
"seanime/internal/events"
"seanime/internal/extension_repo"
"seanime/internal/manga"
"seanime/internal/platforms/anilist_platform"
"seanime/internal/test_utils"
"seanime/internal/util"
"testing"
"github.com/stretchr/testify/require"
)
func GetMockManager(t *testing.T, db *db.Database) Manager {
logger := util.NewLogger()
metadataProvider := metadata.GetMockProvider(t)
extensionRepository := extension_repo.GetMockExtensionRepository(t)
mangaRepository := manga.GetMockRepository(t, db)
mangaRepository.InitExtensionBank(extensionRepository.GetExtensionBank())
wsEventManager := events.NewMockWSEventManager(logger)
anilistClient := anilist.NewMockAnilistClient()
anilistPlatform := anilist_platform.NewAnilistPlatform(anilistClient, logger)
localDir := filepath.Join(test_utils.ConfigData.Path.DataDir, "offline")
assetsDir := filepath.Join(test_utils.ConfigData.Path.DataDir, "offline", "assets")
m, err := NewManager(&NewManagerOptions{
LocalDir: localDir,
AssetDir: assetsDir,
Logger: util.NewLogger(),
MetadataProvider: metadataProvider,
MangaRepository: mangaRepository,
Database: db,
WSEventManager: wsEventManager,
AnilistPlatform: anilistPlatform,
IsOffline: false,
})
require.NoError(t, err)
return m
}