34 lines
745 B
Go
34 lines
745 B
Go
package usecase_test
|
|
|
|
import (
|
|
"context"
|
|
"path"
|
|
"reflect"
|
|
"sync"
|
|
"testing"
|
|
|
|
"source.toby3d.me/toby3d/auth/internal/domain"
|
|
repository "source.toby3d.me/toby3d/auth/internal/user/repository/memory"
|
|
ucase "source.toby3d.me/toby3d/auth/internal/user/usecase"
|
|
)
|
|
|
|
func TestFetch(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
me := domain.TestMe(t, "https://user.example.net")
|
|
user := domain.TestUser(t)
|
|
|
|
store := new(sync.Map)
|
|
store.Store(path.Join(repository.DefaultPathPrefix, me.String()), user)
|
|
|
|
result, err := ucase.NewUserUseCase(repository.NewMemoryUserRepository(store)).
|
|
Fetch(context.Background(), me)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
if !reflect.DeepEqual(result, user) {
|
|
t.Errorf("Fetch(%s) = %+v, want %+v", me, result, user)
|
|
}
|
|
}
|