package domaintest import ( "time" "gitea.dwysokinski.me/twhelp/corev3/internal/domain" "github.com/brianvoe/gofakeit/v7" "github.com/stretchr/testify/require" ) type EnnoblementCursorConfig struct { ID int ServerKey string CreatedAt time.Time } func NewEnnoblementCursor(tb TestingTB, opts ...func(cfg *EnnoblementCursorConfig)) domain.EnnoblementCursor { tb.Helper() cfg := &EnnoblementCursorConfig{ ID: RandID(), ServerKey: RandServerKey(), CreatedAt: gofakeit.Date(), } for _, opt := range opts { opt(cfg) } ec, err := domain.NewEnnoblementCursor( cfg.ID, cfg.ServerKey, cfg.CreatedAt, ) require.NoError(tb, err) return ec } type EnnoblementConfig struct { ID int ServerKey string VillageID int } func NewEnnoblement(tb TestingTB, opts ...func(cfg *EnnoblementConfig)) domain.Ennoblement { tb.Helper() cfg := &EnnoblementConfig{ ID: RandID(), ServerKey: RandServerKey(), VillageID: RandID(), } for _, opt := range opts { opt(cfg) } e, err := domain.UnmarshalEnnoblementFromDatabase( cfg.ID, cfg.ServerKey, cfg.VillageID, RandID(), RandID(), RandID(), RandID(), gofakeit.IntRange(1, 10000), time.Now(), ) require.NoError(tb, err) return e }