40 lines
908 B
Go
40 lines
908 B
Go
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
|
|
}
|