feat: improvements in structures

This commit is contained in:
Elton Minetto
2020-09-29 21:51:18 -03:00
parent 201f7607e1
commit 2c7f87e73a
41 changed files with 821 additions and 1265 deletions
+19 -20
View File
@@ -12,8 +12,7 @@ import (
"github.com/eminetto/clean-architecture-go-v2/api/presenter"
"github.com/eminetto/clean-architecture-go-v2/domain"
"github.com/eminetto/clean-architecture-go-v2/domain/entity"
"github.com/eminetto/clean-architecture-go-v2/domain/entity/user"
"github.com/eminetto/clean-architecture-go-v2/domain/entity/user/mock"
"github.com/eminetto/clean-architecture-go-v2/domain/usecase/user/mock"
"github.com/golang/mock/gomock"
"github.com/gorilla/mux"
"github.com/stretchr/testify/assert"
@@ -22,17 +21,17 @@ import (
func Test_listUsers(t *testing.T) {
controller := gomock.NewController(t)
defer controller.Finish()
m := mock.NewMockManager(controller)
m := mock.NewMockUseCase(controller)
r := mux.NewRouter()
n := negroni.New()
MakeUserHandlers(r, *n, m)
path, err := r.GetRoute("listUsers").GetPathTemplate()
assert.Nil(t, err)
assert.Equal(t, "/v1/user", path)
u := user.NewFixtureUser()
u := entity.NewFixtureUser()
m.EXPECT().
List().
Return([]*user.User{u}, nil)
ListUsers().
Return([]*entity.User{u}, nil)
ts := httptest.NewServer(listUsers(m))
defer ts.Close()
res, err := http.Get(ts.URL)
@@ -43,11 +42,11 @@ func Test_listUsers(t *testing.T) {
func Test_listUsers_NotFound(t *testing.T) {
controller := gomock.NewController(t)
defer controller.Finish()
m := mock.NewMockManager(controller)
m := mock.NewMockUseCase(controller)
ts := httptest.NewServer(listUsers(m))
defer ts.Close()
m.EXPECT().
Search("dio").
SearchUsers("dio").
Return(nil, domain.ErrNotFound)
res, err := http.Get(ts.URL + "?name=dio")
assert.Nil(t, err)
@@ -57,11 +56,11 @@ func Test_listUsers_NotFound(t *testing.T) {
func Test_listUsers_Search(t *testing.T) {
controller := gomock.NewController(t)
defer controller.Finish()
m := mock.NewMockManager(controller)
u := user.NewFixtureUser()
m := mock.NewMockUseCase(controller)
u := entity.NewFixtureUser()
m.EXPECT().
Search("ozzy").
Return([]*user.User{u}, nil)
SearchUsers("ozzy").
Return([]*entity.User{u}, nil)
ts := httptest.NewServer(listUsers(m))
defer ts.Close()
res, err := http.Get(ts.URL + "?name=ozzy")
@@ -72,7 +71,7 @@ func Test_listUsers_Search(t *testing.T) {
func Test_createUser(t *testing.T) {
controller := gomock.NewController(t)
defer controller.Finish()
m := mock.NewMockManager(controller)
m := mock.NewMockUseCase(controller)
r := mux.NewRouter()
n := negroni.New()
MakeUserHandlers(r, *n, m)
@@ -81,7 +80,7 @@ func Test_createUser(t *testing.T) {
assert.Equal(t, "/v1/user", path)
m.EXPECT().
Create(gomock.Any()).
CreateUser(gomock.Any()).
Return(entity.NewID(), nil)
h := createUser(m)
@@ -105,16 +104,16 @@ func Test_createUser(t *testing.T) {
func Test_getUser(t *testing.T) {
controller := gomock.NewController(t)
defer controller.Finish()
m := mock.NewMockManager(controller)
m := mock.NewMockUseCase(controller)
r := mux.NewRouter()
n := negroni.New()
MakeUserHandlers(r, *n, m)
path, err := r.GetRoute("getUser").GetPathTemplate()
assert.Nil(t, err)
assert.Equal(t, "/v1/user/{id}", path)
u := user.NewFixtureUser()
u := entity.NewFixtureUser()
m.EXPECT().
Get(u.ID).
GetUser(u.ID).
Return(u, nil)
handler := getUser(m)
r.Handle("/v1/user/{id}", handler)
@@ -132,15 +131,15 @@ func Test_getUser(t *testing.T) {
func Test_deleteUser(t *testing.T) {
controller := gomock.NewController(t)
defer controller.Finish()
m := mock.NewMockManager(controller)
m := mock.NewMockUseCase(controller)
r := mux.NewRouter()
n := negroni.New()
MakeUserHandlers(r, *n, m)
path, err := r.GetRoute("deleteUser").GetPathTemplate()
assert.Nil(t, err)
assert.Equal(t, "/v1/user/{id}", path)
u := user.NewFixtureUser()
m.EXPECT().Delete(u.ID).Return(nil)
u := entity.NewFixtureUser()
m.EXPECT().DeleteUser(u.ID).Return(nil)
handler := deleteUser(m)
req, _ := http.NewRequest("DELETE", "/v1/user/"+u.ID.String(), nil)
r.Handle("/v1/user/{id}", handler).Methods("DELETE", "OPTIONS")