package domaintest import ( "time" "gitea.dwysokinski.me/twhelp/corev3/internal/domain" "github.com/brianvoe/gofakeit/v7" "github.com/stretchr/testify/require" ) type TribeChangeCursorConfig struct { ID int ServerKey string CreatedAt time.Time } func NewTribeChangeCursor(tb TestingTB, opts ...func(cfg *TribeChangeCursorConfig)) domain.TribeChangeCursor { tb.Helper() cfg := &TribeChangeCursorConfig{ ID: RandID(), ServerKey: RandServerKey(), CreatedAt: gofakeit.Date(), } for _, opt := range opts { opt(cfg) } tcc, err := domain.NewTribeChangeCursor( cfg.ID, cfg.ServerKey, cfg.CreatedAt, ) require.NoError(tb, err) return tcc } type TribeChangeConfig struct { ID int ServerKey string PlayerID int OldTribeID int NewTribeID int CreatedAt time.Time } func NewTribeChange(tb TestingTB, opts ...func(cfg *TribeChangeConfig)) domain.TribeChange { tb.Helper() cfg := &TribeChangeConfig{ ID: RandID(), ServerKey: RandServerKey(), PlayerID: RandID(), OldTribeID: RandID(), NewTribeID: RandID(), CreatedAt: time.Now(), } for _, opt := range opts { opt(cfg) } tc, err := domain.UnmarshalTribeChangeFromDatabase( cfg.ID, cfg.ServerKey, cfg.PlayerID, cfg.OldTribeID, cfg.NewTribeID, cfg.CreatedAt, ) require.NoError(tb, err) return tc }