25 lines
951 B
Go
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
|
|
}
|