spark-server/internal/module/user/logictest/wire.go
2026-09-22 17:07:26 +08:00

25 lines
951 B
Go

// Package logictest wires user + in-memory OTP for integration tests in other modules.
package logictest
import (
"spark-server/internal/infrastructure/id"
smslogic "spark-server/internal/module/sms/logic"
smsmodel "spark-server/internal/module/sms/model"
userlogic "spark-server/internal/module/user/logic"
usermodel "spark-server/internal/module/user/model"
)
// Users returns a user service backed by in-memory repo and OTP store.
func Users(ids *id.Generator, objects userlogic.Objects) *userlogic.Service {
svc, _ := UsersAndSMS(ids, objects)
return svc
}
// UsersAndSMS returns user and sms services sharing the same in-memory OTP store.
func UsersAndSMS(ids *id.Generator, objects userlogic.Objects) (*userlogic.Service, *smslogic.Service) {
repo := usermodel.NewMemoryRepo()
store := smsmodel.NewMemoryStore()
smsSvc := smslogic.NewService(store, nil, nil, nil)
return userlogic.NewService(repo, smsSvc, ids, objects), smsSvc
}