59 lines
994 B
Go
59 lines
994 B
Go
package domaintest
|
|
|
|
import (
|
|
"gitea.dwysokinski.me/twhelp/corev3/internal/domain"
|
|
"github.com/brianvoe/gofakeit/v7"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
type VersionCursorConfig struct {
|
|
Code string
|
|
}
|
|
|
|
func NewVersionCursor(tb TestingTB, opts ...func(cfg *VersionCursorConfig)) domain.VersionCursor {
|
|
tb.Helper()
|
|
|
|
cfg := &VersionCursorConfig{
|
|
Code: RandVersionCode(),
|
|
}
|
|
|
|
for _, opt := range opts {
|
|
opt(cfg)
|
|
}
|
|
|
|
vc, err := domain.NewVersionCursor(cfg.Code)
|
|
require.NoError(tb, err)
|
|
|
|
return vc
|
|
}
|
|
|
|
type VersionConfig struct {
|
|
Code string
|
|
}
|
|
|
|
func NewVersion(tb TestingTB, opts ...func(cfg *VersionConfig)) domain.Version {
|
|
tb.Helper()
|
|
|
|
cfg := &VersionConfig{
|
|
Code: RandVersionCode(),
|
|
}
|
|
|
|
for _, opt := range opts {
|
|
opt(cfg)
|
|
}
|
|
|
|
v, err := domain.UnmarshalVersionFromDatabase(
|
|
cfg.Code,
|
|
gofakeit.LetterN(10),
|
|
gofakeit.DomainName(),
|
|
gofakeit.TimeZoneRegion(),
|
|
)
|
|
require.NoError(tb, err)
|
|
|
|
return v
|
|
}
|
|
|
|
func RandVersionCode() string {
|
|
return gofakeit.LetterN(2)
|
|
}
|