auth/internal/client/usecase/client_ucase_test.go

57 lines
1.2 KiB
Go
Raw Normal View History

2021-09-23 23:06:22 +00:00
package usecase_test
import (
"context"
2022-07-28 18:30:51 +00:00
"errors"
"reflect"
2021-09-23 23:06:22 +00:00
"testing"
repository "source.toby3d.me/toby3d/auth/internal/client/repository/memory"
"source.toby3d.me/toby3d/auth/internal/client/usecase"
"source.toby3d.me/toby3d/auth/internal/domain"
2021-09-23 23:06:22 +00:00
)
func TestDiscovery(t *testing.T) {
t.Parallel()
testClient := domain.TestClient(t)
clients := repository.NewMemoryClientRepository()
2021-09-23 23:06:22 +00:00
if err := clients.Create(context.Background(), *testClient); err != nil {
t.Fatal(err)
}
2022-07-28 18:30:51 +00:00
for _, tc := range []struct {
name string
in *domain.Client
out *domain.Client
expError error
}{{
name: "default",
in: testClient,
out: testClient,
}} {
tc := tc
t.Run(tc.name, func(t *testing.T) {
t.Parallel()
result, err := usecase.NewClientUseCase(clients).
2022-07-28 18:30:51 +00:00
Discovery(context.Background(), tc.in.ID)
if tc.expError != nil && !errors.Is(err, tc.expError) {
t.Errorf("Discovery(%s) = %+v, want %+v", tc.in.ID, err, tc.expError)
return
}
if tc.expError == nil && err != nil {
t.Fatal(err)
}
if !reflect.DeepEqual(result, tc.out) {
t.Errorf("Discovery(%s) = %+v, want %+v", tc.in.ID, result, tc.out)
}
})
}
2021-09-23 23:06:22 +00:00
}