core/internal/domain/domaintest/tribe_change.go

77 lines
1.3 KiB
Go

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
}