R6(c): centralize shared integration-test fixtures in helpers.go
Move the cross-file integration fixtures — the service constructors (newGameService/newSocialService/newRobotService/newMatchmaker), the game-assembly helpers (newMirror/newGameWithSeats/newDraftGame), account provisioning (provisionAccount/provisionGuest) and the stats reader — out of the domain test files (newGameService alone was used by 10 files) into a single backend/internal/inttest/helpers.go. Helpers used by a single file stay local. Pure relocation: the helper bodies are unchanged, no test logic changes; the imports the moves left unused are pruned. go vet -tags=integration is clean.
This commit is contained in:
@@ -8,31 +8,12 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"go.opentelemetry.io/otel/metric/noop"
|
||||
"go.uber.org/zap"
|
||||
|
||||
"scrabble/backend/internal/account"
|
||||
"scrabble/backend/internal/engine"
|
||||
"scrabble/backend/internal/game"
|
||||
"scrabble/backend/internal/lobby"
|
||||
"scrabble/backend/internal/robot"
|
||||
)
|
||||
|
||||
// newRobotService builds a robot service over games (shared so its moves and the
|
||||
// test's human moves use the same live-game cache and per-game locks), a fresh
|
||||
// social service for nudges, and a no-op meter.
|
||||
func newRobotService(t *testing.T, games *game.Service) *robot.Service {
|
||||
t.Helper()
|
||||
return robot.NewService(games, account.NewStore(testDB), newSocialService(), noop.NewMeterProvider().Meter("robot-test"), zap.NewNop())
|
||||
}
|
||||
|
||||
// newMatchmaker builds a matchmaker starting real games and substituting from
|
||||
// robots after wait.
|
||||
func newMatchmaker(t *testing.T, robots lobby.RobotProvider, wait time.Duration) *lobby.Matchmaker {
|
||||
t.Helper()
|
||||
return lobby.NewMatchmaker(newGameService(), robots, wait, zap.NewNop())
|
||||
}
|
||||
|
||||
// setTurnStarted rewrites a game's turn clock so a robot turn can be made due (or
|
||||
// idle) at a chosen instant, independent of wall time.
|
||||
func setTurnStarted(t *testing.T, id uuid.UUID, at time.Time) {
|
||||
|
||||
Reference in New Issue
Block a user