// 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 }