package logic import ( "context" "testing" "spark-server/internal/infrastructure/id" smslogic "spark-server/internal/module/sms/logic" smsmodel "spark-server/internal/module/sms/model" "spark-server/internal/module/user/model" ) func testService(t *testing.T) (*Service, *model.MemoryRepo, smslogic.CodeStore) { t.Helper() ids, err := id.New(1) if err != nil { t.Fatal(err) } repo := model.NewMemoryRepo() store := smsmodel.NewMemoryStore() smsSvc := smslogic.NewService(store, nil, nil, nil) return NewService(repo, smsSvc, ids, newMemObjects()), repo, store } type memObjects struct { kv map[string][]byte } func newMemObjects() *memObjects { return &memObjects{kv: map[string][]byte{}} } func (m *memObjects) Put(_ context.Context, key string, body []byte, _ string) error { if m.kv == nil { m.kv = map[string][]byte{} } m.kv[key] = append([]byte(nil), body...) return nil }