package adapter_test import ( "context" "os" "testing" "gitea.dwysokinski.me/twhelp/corev3/internal/adapter" "gitea.dwysokinski.me/twhelp/corev3/internal/adapter/adaptertest" "gitea.dwysokinski.me/twhelp/corev3/internal/domain" "github.com/uptrace/bun" ) type versionRepository interface { List(ctx context.Context, params domain.ListVersionsParams) (domain.Versions, error) ListCount( ctx context.Context, params domain.ListVersionsParams, ) (domain.Versions, int, error) } type serverRepository interface { CreateOrUpdate(ctx context.Context, params ...domain.CreateServerParams) error List(ctx context.Context, params domain.ListServersParams) (domain.Servers, error) Update(ctx context.Context, key string, params domain.UpdateServerParams) error } type tribeRepository interface { CreateOrUpdate(ctx context.Context, params ...domain.CreateTribeParams) error List(ctx context.Context, params domain.ListTribesParams) (domain.Tribes, error) Delete(ctx context.Context, serverKey string, ids ...int) error } type repositories struct { version versionRepository server serverRepository tribe tribeRepository } func newBunDBRepositories(tb testing.TB, bunDB *bun.DB) repositories { tb.Helper() adaptertest.NewFixture(bunDB).Load(tb, context.Background(), os.DirFS("testdata"), "fixture.yml") return repositories{ version: adapter.NewVersionBunRepository(bunDB), server: adapter.NewServerBunRepository(bunDB), tribe: adapter.NewTribeBunRepository(bunDB), } }