49 lines
1.4 KiB
Go
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
|
|
}
|