From 4c6b43b04d28d3de65a8f6bdc0ad47e4aa37035d Mon Sep 17 00:00:00 2001 From: Elton Minetto Date: Tue, 30 Jun 2020 13:19:03 -0300 Subject: [PATCH] fix: change function names --- Makefile | 2 +- api/handler/book.go | 20 +++---- api/handler/book_test.go | 44 +++++++------- api/handler/loan.go | 20 +++---- api/handler/loan_test.go | 8 +-- api/handler/user.go | 28 ++++----- api/handler/user_test.go | 44 +++++++------- api/main.go | 14 ++--- cmd/main.go | 6 +- domain/entity/book/interface.go | 5 ++ .../entity/book/{repository.go => manager.go} | 20 +++---- .../{repository_test.go => manager_test.go} | 38 ++++++------ domain/entity/book/mock/book.go | 58 +++++++++---------- domain/entity/book/repository_mysql.go | 4 +- domain/entity/user/interface.go | 5 ++ .../entity/user/{repository.go => manager.go} | 22 +++---- .../{repository_test.go => manager_test.go} | 44 ++++++++------ domain/entity/user/mock/user.go | 58 +++++++++---------- domain/usecase/loan/mock/loan.go | 2 +- domain/usecase/loan/usecase.go | 2 +- domain/usecase/loan/usecase_test.go | 8 +-- 21 files changed, 234 insertions(+), 218 deletions(-) rename domain/entity/book/{repository.go => manager.go} (53%) rename domain/entity/book/{repository_test.go => manager_test.go} (68%) rename domain/entity/user/{repository.go => manager.go} (63%) rename domain/entity/user/{repository_test.go => manager_test.go} (68%) diff --git a/Makefile b/Makefile index 4be1026..68c5479 100644 --- a/Makefile +++ b/Makefile @@ -34,7 +34,7 @@ build-mocks: @go install github.com/golang/mock/mockgen @~/go/bin/mockgen -source=domain/entity/book/interface.go -destination=domain/entity/book/mock/book.go -package=mock @~/go/bin/mockgen -source=domain/entity/user/interface.go -destination=domain/entity/user/mock/user.go -package=mock - @~/go/bin/mockgen -source=domain/loan/interface.go -destination=domain/loan/mock/loan.go -package=mock + @~/go/bin/mockgen -source=domain/usecase/loan/interface.go -destination=domain/usecase/loan/mock/loan.go -package=mock test: go test -tags testing ./... diff --git a/api/handler/book.go b/api/handler/book.go index a585c58..afcbd9e 100644 --- a/api/handler/book.go +++ b/api/handler/book.go @@ -17,7 +17,7 @@ import ( "github.com/gorilla/mux" ) -func listBooks(service book.Repository) http.Handler { +func listBooks(manager book.Manager) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { errorMessage := "Error reading books" var data []*book.Book @@ -25,9 +25,9 @@ func listBooks(service book.Repository) http.Handler { title := r.URL.Query().Get("title") switch { case title == "": - data, err = service.List() + data, err = manager.List() default: - data, err = service.Search(title) + data, err = manager.Search(title) } w.Header().Set("Content-Type", "application/json") if err != nil && err != domain.ErrNotFound { @@ -58,7 +58,7 @@ func listBooks(service book.Repository) http.Handler { }) } -func createBook(service book.Repository) http.Handler { +func createBook(manager book.Manager) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { errorMessage := "Error adding book" var input struct { @@ -82,7 +82,7 @@ func createBook(service book.Repository) http.Handler { Quantity: input.Quantity, CreatedAt: time.Now(), } - b.ID, err = service.Create(b) + b.ID, err = manager.Create(b) if err != nil { log.Println(err.Error()) w.WriteHeader(http.StatusInternalServerError) @@ -107,7 +107,7 @@ func createBook(service book.Repository) http.Handler { }) } -func getBook(service book.Repository) http.Handler { +func getBook(manager book.Manager) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { errorMessage := "Error reading book" vars := mux.Vars(r) @@ -117,7 +117,7 @@ func getBook(service book.Repository) http.Handler { w.Write([]byte(errorMessage)) return } - data, err := service.Get(id) + data, err := manager.Get(id) if err != nil && err != domain.ErrNotFound { w.WriteHeader(http.StatusInternalServerError) w.Write([]byte(errorMessage)) @@ -143,7 +143,7 @@ func getBook(service book.Repository) http.Handler { }) } -func deleteBook(service book.Repository) http.Handler { +func deleteBook(manager book.Manager) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { errorMessage := "Error removing bookmark" vars := mux.Vars(r) @@ -153,7 +153,7 @@ func deleteBook(service book.Repository) http.Handler { w.Write([]byte(errorMessage)) return } - err = service.Delete(id) + err = manager.Delete(id) if err != nil { w.WriteHeader(http.StatusInternalServerError) w.Write([]byte(errorMessage)) @@ -163,7 +163,7 @@ func deleteBook(service book.Repository) http.Handler { } //MakeBookHandlers make url handlers -func MakeBookHandlers(r *mux.Router, n negroni.Negroni, service book.Repository) { +func MakeBookHandlers(r *mux.Router, n negroni.Negroni, service book.Manager) { r.Handle("/v1/book", n.With( negroni.Wrap(listBooks(service)), )).Methods("GET", "OPTIONS").Name("listBooks") diff --git a/api/handler/book_test.go b/api/handler/book_test.go index 857b708..9794b4d 100644 --- a/api/handler/book_test.go +++ b/api/handler/book_test.go @@ -23,18 +23,18 @@ import ( func Test_listBooks(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - service := mock.NewMockUseCase(controller) + manager := mock.NewMockManager(controller) r := mux.NewRouter() n := negroni.New() - MakeBookHandlers(r, *n, service) + MakeBookHandlers(r, *n, manager) path, err := r.GetRoute("listBooks").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/book", path) b := book.NewFixtureBook() - service.EXPECT(). + manager.EXPECT(). List(). Return([]*book.Book{b}, nil) - ts := httptest.NewServer(listBooks(service)) + ts := httptest.NewServer(listBooks(manager)) defer ts.Close() res, err := http.Get(ts.URL) assert.Nil(t, err) @@ -44,10 +44,10 @@ func Test_listBooks(t *testing.T) { func Test_listBooks_NotFound(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - service := mock.NewMockUseCase(controller) - ts := httptest.NewServer(listBooks(service)) + manager := mock.NewMockManager(controller) + ts := httptest.NewServer(listBooks(manager)) defer ts.Close() - service.EXPECT(). + manager.EXPECT(). Search("book of books"). Return(nil, domain.ErrNotFound) res, err := http.Get(ts.URL + "?title=book+of+books") @@ -58,12 +58,12 @@ func Test_listBooks_NotFound(t *testing.T) { func Test_listBooks_Search(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - service := mock.NewMockUseCase(controller) + manager := mock.NewMockManager(controller) b := book.NewFixtureBook() - service.EXPECT(). + manager.EXPECT(). Search("ozzy"). Return([]*book.Book{b}, nil) - ts := httptest.NewServer(listBooks(service)) + ts := httptest.NewServer(listBooks(manager)) defer ts.Close() res, err := http.Get(ts.URL + "?title=ozzy") assert.Nil(t, err) @@ -73,18 +73,18 @@ func Test_listBooks_Search(t *testing.T) { func Test_createBook(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - service := mock.NewMockUseCase(controller) + manager := mock.NewMockManager(controller) r := mux.NewRouter() n := negroni.New() - MakeBookHandlers(r, *n, service) + MakeBookHandlers(r, *n, manager) path, err := r.GetRoute("createBook").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/book", path) - service.EXPECT(). + manager.EXPECT(). Create(gomock.Any()). Return(entity.NewID(), nil) - h := createBook(service) + h := createBook(manager) ts := httptest.NewServer(h) defer ts.Close() @@ -105,18 +105,18 @@ func Test_createBook(t *testing.T) { func Test_getBook(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - service := mock.NewMockUseCase(controller) + manager := mock.NewMockManager(controller) r := mux.NewRouter() n := negroni.New() - MakeBookHandlers(r, *n, service) + MakeBookHandlers(r, *n, manager) path, err := r.GetRoute("getBook").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/book/{id}", path) b := book.NewFixtureBook() - service.EXPECT(). + manager.EXPECT(). Get(b.ID). Return(b, nil) - handler := getBook(service) + handler := getBook(manager) r.Handle("/v1/book/{id}", handler) ts := httptest.NewServer(r) defer ts.Close() @@ -132,16 +132,16 @@ func Test_getBook(t *testing.T) { func Test_deleteBook(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - service := mock.NewMockUseCase(controller) + manager := mock.NewMockManager(controller) r := mux.NewRouter() n := negroni.New() - MakeBookHandlers(r, *n, service) + MakeBookHandlers(r, *n, manager) path, err := r.GetRoute("deleteBook").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/book/{id}", path) b := book.NewFixtureBook() - service.EXPECT().Delete(b.ID).Return(nil) - handler := deleteBook(service) + manager.EXPECT().Delete(b.ID).Return(nil) + handler := deleteBook(manager) req, _ := http.NewRequest("DELETE", "/v1/bookmark/"+b.ID.String(), nil) r.Handle("/v1/bookmark/{id}", handler).Methods("DELETE", "OPTIONS") rr := httptest.NewRecorder() diff --git a/api/handler/loan.go b/api/handler/loan.go index ae3c3ba..639f7d0 100644 --- a/api/handler/loan.go +++ b/api/handler/loan.go @@ -17,7 +17,7 @@ import ( "github.com/gorilla/mux" ) -func borrowBook(bService book.Repository, uService user.Repository, loanService loan.UseCase) http.Handler { +func borrowBook(bManager book.Manager, uManager user.Manager, loanUseCase loan.UseCase) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { errorMessage := "Error borrowing book" vars := mux.Vars(r) @@ -27,7 +27,7 @@ func borrowBook(bService book.Repository, uService user.Repository, loanService w.Write([]byte(errorMessage)) return } - b, err := bService.Get(bID) + b, err := bManager.Get(bID) if err != nil && err != domain.ErrNotFound { w.WriteHeader(http.StatusInternalServerError) w.Write([]byte(errorMessage)) @@ -44,7 +44,7 @@ func borrowBook(bService book.Repository, uService user.Repository, loanService w.Write([]byte(errorMessage)) return } - u, err := uService.Get(uID) + u, err := uManager.Get(uID) if err != nil && err != domain.ErrNotFound { w.WriteHeader(http.StatusInternalServerError) w.Write([]byte(errorMessage)) @@ -55,7 +55,7 @@ func borrowBook(bService book.Repository, uService user.Repository, loanService w.Write([]byte(errorMessage)) return } - err = loanService.Borrow(u, b) + err = loanUseCase.Borrow(u, b) if err != nil { fmt.Println(err) w.WriteHeader(http.StatusInternalServerError) @@ -66,7 +66,7 @@ func borrowBook(bService book.Repository, uService user.Repository, loanService }) } -func returnBook(bService book.Repository, loanService loan.UseCase) http.Handler { +func returnBook(bManager book.Manager, loanUseCase loan.UseCase) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { errorMessage := "Error returning book" vars := mux.Vars(r) @@ -76,7 +76,7 @@ func returnBook(bService book.Repository, loanService loan.UseCase) http.Handler w.Write([]byte(errorMessage)) return } - b, err := bService.Get(bID) + b, err := bManager.Get(bID) if err != nil && err != domain.ErrNotFound { w.WriteHeader(http.StatusInternalServerError) w.Write([]byte(errorMessage)) @@ -87,7 +87,7 @@ func returnBook(bService book.Repository, loanService loan.UseCase) http.Handler w.Write([]byte(errorMessage)) return } - err = loanService.Return(b) + err = loanUseCase.Return(b) if err != nil && err != domain.ErrNotFound { w.WriteHeader(http.StatusInternalServerError) w.Write([]byte(errorMessage)) @@ -98,12 +98,12 @@ func returnBook(bService book.Repository, loanService loan.UseCase) http.Handler } //MakeLoanHandlers make url handlers -func MakeLoanHandlers(r *mux.Router, n negroni.Negroni, bService book.Repository, uService user.Repository, loanService loan.UseCase) { +func MakeLoanHandlers(r *mux.Router, n negroni.Negroni, bManager book.Manager, uManager user.Manager, loanUseCase loan.UseCase) { r.Handle("/v1/loan/borrow/{book_id}/{user_id}", n.With( - negroni.Wrap(borrowBook(bService, uService, loanService)), + negroni.Wrap(borrowBook(bManager, uManager, loanUseCase)), )).Methods("GET", "OPTIONS").Name("borrowBook") r.Handle("/v1/loan/return/{book_id}", n.With( - negroni.Wrap(returnBook(bService, loanService)), + negroni.Wrap(returnBook(bManager, loanUseCase)), )).Methods("GET", "OPTIONS").Name("returnBook") } diff --git a/api/handler/loan_test.go b/api/handler/loan_test.go index 7075dce..5f28b61 100644 --- a/api/handler/loan_test.go +++ b/api/handler/loan_test.go @@ -25,8 +25,8 @@ import ( func Test_borrowBook(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - uMock := umock.NewMockUseCase(controller) - bMock := bmock.NewMockUseCase(controller) + uMock := umock.NewMockManager(controller) + bMock := bmock.NewMockManager(controller) lMock := lmock.NewMockUseCase(controller) r := mux.NewRouter() n := negroni.New() @@ -74,8 +74,8 @@ func Test_borrowBook(t *testing.T) { func Test_returnBook(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - uMock := umock.NewMockUseCase(controller) - bMock := bmock.NewMockUseCase(controller) + uMock := umock.NewMockManager(controller) + bMock := bmock.NewMockManager(controller) lMock := lmock.NewMockUseCase(controller) r := mux.NewRouter() n := negroni.New() diff --git a/api/handler/user.go b/api/handler/user.go index 784ed97..6c7f2a0 100644 --- a/api/handler/user.go +++ b/api/handler/user.go @@ -18,7 +18,7 @@ import ( "github.com/gorilla/mux" ) -func listUsers(service user.Repository) http.Handler { +func listUsers(manager user.Manager) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { errorMessage := "Error reading users" var data []*user.User @@ -26,9 +26,9 @@ func listUsers(service user.Repository) http.Handler { name := r.URL.Query().Get("name") switch { case name == "": - data, err = service.List() + data, err = manager.List() default: - data, err = service.Search(name) + data, err = manager.Search(name) } w.Header().Set("Content-Type", "application/json") if err != nil && err != domain.ErrNotFound { @@ -58,7 +58,7 @@ func listUsers(service user.Repository) http.Handler { }) } -func createUser(service user.Repository) http.Handler { +func createUser(manager user.Manager) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { errorMessage := "Error adding user" var input struct { @@ -83,7 +83,7 @@ func createUser(service user.Repository) http.Handler { LastName: input.LastName, CreatedAt: time.Now(), } - u.ID, err = service.Create(u) + u.ID, err = manager.Create(u) if err != nil { log.Println(err.Error()) w.WriteHeader(http.StatusInternalServerError) @@ -107,7 +107,7 @@ func createUser(service user.Repository) http.Handler { }) } -func getUser(service user.Repository) http.Handler { +func getUser(manager user.Manager) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { errorMessage := "Error reading user" vars := mux.Vars(r) @@ -117,7 +117,7 @@ func getUser(service user.Repository) http.Handler { w.Write([]byte(errorMessage)) return } - data, err := service.Get(id) + data, err := manager.Get(id) w.Header().Set("Content-Type", "application/json") if err != nil && err != domain.ErrNotFound { w.WriteHeader(http.StatusInternalServerError) @@ -143,7 +143,7 @@ func getUser(service user.Repository) http.Handler { }) } -func deleteUser(service user.Repository) http.Handler { +func deleteUser(manager user.Manager) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { errorMessage := "Error removing user" vars := mux.Vars(r) @@ -153,7 +153,7 @@ func deleteUser(service user.Repository) http.Handler { w.Write([]byte(errorMessage)) return } - err = service.Delete(id) + err = manager.Delete(id) if err != nil { w.WriteHeader(http.StatusInternalServerError) w.Write([]byte(errorMessage)) @@ -163,20 +163,20 @@ func deleteUser(service user.Repository) http.Handler { } //MakeUserHandlers make url handlers -func MakeUserHandlers(r *mux.Router, n negroni.Negroni, service user.Repository) { +func MakeUserHandlers(r *mux.Router, n negroni.Negroni, manager user.Manager) { r.Handle("/v1/user", n.With( - negroni.Wrap(listUsers(service)), + negroni.Wrap(listUsers(manager)), )).Methods("GET", "OPTIONS").Name("listUsers") r.Handle("/v1/user", n.With( - negroni.Wrap(createUser(service)), + negroni.Wrap(createUser(manager)), )).Methods("POST", "OPTIONS").Name("createUser") r.Handle("/v1/user/{id}", n.With( - negroni.Wrap(getUser(service)), + negroni.Wrap(getUser(manager)), )).Methods("GET", "OPTIONS").Name("getUser") r.Handle("/v1/user/{id}", n.With( - negroni.Wrap(deleteUser(service)), + negroni.Wrap(deleteUser(manager)), )).Methods("DELETE", "OPTIONS").Name("deleteUser") } diff --git a/api/handler/user_test.go b/api/handler/user_test.go index 5a40110..64dcd54 100644 --- a/api/handler/user_test.go +++ b/api/handler/user_test.go @@ -22,18 +22,18 @@ import ( func Test_listUsers(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - service := mock.NewMockUseCase(controller) + m := mock.NewMockManager(controller) r := mux.NewRouter() n := negroni.New() - MakeUserHandlers(r, *n, service) + MakeUserHandlers(r, *n, m) path, err := r.GetRoute("listUsers").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/user", path) u := user.NewFixtureUser() - service.EXPECT(). + m.EXPECT(). List(). Return([]*user.User{u}, nil) - ts := httptest.NewServer(listUsers(service)) + ts := httptest.NewServer(listUsers(m)) defer ts.Close() res, err := http.Get(ts.URL) assert.Nil(t, err) @@ -43,10 +43,10 @@ func Test_listUsers(t *testing.T) { func Test_listUsers_NotFound(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - service := mock.NewMockUseCase(controller) - ts := httptest.NewServer(listUsers(service)) + m := mock.NewMockManager(controller) + ts := httptest.NewServer(listUsers(m)) defer ts.Close() - service.EXPECT(). + m.EXPECT(). Search("dio"). Return(nil, domain.ErrNotFound) res, err := http.Get(ts.URL + "?name=dio") @@ -57,12 +57,12 @@ func Test_listUsers_NotFound(t *testing.T) { func Test_listUsers_Search(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - service := mock.NewMockUseCase(controller) + m := mock.NewMockManager(controller) u := user.NewFixtureUser() - service.EXPECT(). + m.EXPECT(). Search("ozzy"). Return([]*user.User{u}, nil) - ts := httptest.NewServer(listUsers(service)) + ts := httptest.NewServer(listUsers(m)) defer ts.Close() res, err := http.Get(ts.URL + "?name=ozzy") assert.Nil(t, err) @@ -72,18 +72,18 @@ func Test_listUsers_Search(t *testing.T) { func Test_createUser(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - service := mock.NewMockUseCase(controller) + m := mock.NewMockManager(controller) r := mux.NewRouter() n := negroni.New() - MakeUserHandlers(r, *n, service) + MakeUserHandlers(r, *n, m) path, err := r.GetRoute("createUser").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/user", path) - service.EXPECT(). + m.EXPECT(). Create(gomock.Any()). Return(entity.NewID(), nil) - h := createUser(service) + h := createUser(m) ts := httptest.NewServer(h) defer ts.Close() @@ -105,18 +105,18 @@ func Test_createUser(t *testing.T) { func Test_getUser(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - service := mock.NewMockUseCase(controller) + m := mock.NewMockManager(controller) r := mux.NewRouter() n := negroni.New() - MakeUserHandlers(r, *n, service) + MakeUserHandlers(r, *n, m) path, err := r.GetRoute("getUser").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/user/{id}", path) u := user.NewFixtureUser() - service.EXPECT(). + m.EXPECT(). Get(u.ID). Return(u, nil) - handler := getUser(service) + handler := getUser(m) r.Handle("/v1/user/{id}", handler) ts := httptest.NewServer(r) defer ts.Close() @@ -132,16 +132,16 @@ func Test_getUser(t *testing.T) { func Test_deleteUser(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - service := mock.NewMockUseCase(controller) + m := mock.NewMockManager(controller) r := mux.NewRouter() n := negroni.New() - MakeUserHandlers(r, *n, service) + MakeUserHandlers(r, *n, m) path, err := r.GetRoute("deleteUser").GetPathTemplate() assert.Nil(t, err) assert.Equal(t, "/v1/user/{id}", path) u := user.NewFixtureUser() - service.EXPECT().Delete(u.ID).Return(nil) - handler := deleteUser(service) + m.EXPECT().Delete(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") rr := httptest.NewRecorder() diff --git a/api/main.go b/api/main.go index acc03c0..d040ef1 100644 --- a/api/main.go +++ b/api/main.go @@ -37,13 +37,13 @@ func main() { } defer db.Close() - bookRepo := book.NewMySQLRepoRepository(db) - bookService := book.NewRepository(bookRepo) + bookRepo := book.NewMySQLRepository(db) + bookManager := book.NewManager(bookRepo) userRepo := user.NewMySQLRepoRepository(db) - userService := user.NewRepository(userRepo, password.NewService()) + userManager := user.NewManager(userRepo, password.NewService()) - loanService := loan.NewUseCase(userService, bookService) + loanUseCase := loan.NewUseCase(userManager, bookManager) metricService, err := metric.NewPrometheusService() if err != nil { @@ -57,13 +57,13 @@ func main() { negroni.NewLogger(), ) //book - handler.MakeBookHandlers(r, *n, bookService) + handler.MakeBookHandlers(r, *n, bookManager) //user - handler.MakeUserHandlers(r, *n, userService) + handler.MakeUserHandlers(r, *n, userManager) //loan - handler.MakeLoanHandlers(r, *n, bookService, userService, loanService) + handler.MakeLoanHandlers(r, *n, bookManager, userManager, loanUseCase) http.Handle("/", r) http.Handle("/metrics", promhttp.Handler()) diff --git a/cmd/main.go b/cmd/main.go index 00ddbea..ff2696d 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -40,9 +40,9 @@ func main() { log.Fatal(err.Error()) } defer db.Close() - repo := book.NewMySQLRepoRepository(db) - service := book.NewRepository(repo) - all, err := service.Search(query) + repo := book.NewMySQLRepository(db) + manager := book.NewManager(repo) + all, err := manager.Search(query) if err != nil { log.Fatal(err) } diff --git a/domain/entity/book/interface.go b/domain/entity/book/interface.go index cfbe549..613ef6d 100644 --- a/domain/entity/book/interface.go +++ b/domain/entity/book/interface.go @@ -21,3 +21,8 @@ type Repository interface { Reader Writer } + +//Manager interface +type Manager interface { + Repository +} diff --git a/domain/entity/book/repository.go b/domain/entity/book/manager.go similarity index 53% rename from domain/entity/book/repository.go rename to domain/entity/book/manager.go index 6eecc32..e56a3af 100644 --- a/domain/entity/book/repository.go +++ b/domain/entity/book/manager.go @@ -7,41 +7,41 @@ import ( "github.com/eminetto/clean-architecture-go-v2/domain/entity" ) -type repository struct { +type manager struct { repo Repository } -//NewRepository create new repository -func NewRepository(r Repository) *repository { - return &repository{ +//NewManager create new manager +func NewManager(r Repository) *manager { + return &manager{ repo: r, } } //Create a book -func (s *repository) Create(e *Book) (entity.ID, error) { +func (s *manager) Create(e *Book) (entity.ID, error) { e.ID = entity.NewID() e.CreatedAt = time.Now() return s.repo.Create(e) } //Get a book -func (s *repository) Get(id entity.ID) (*Book, error) { +func (s *manager) Get(id entity.ID) (*Book, error) { return s.repo.Get(id) } //Search books -func (s *repository) Search(query string) ([]*Book, error) { +func (s *manager) Search(query string) ([]*Book, error) { return s.repo.Search(strings.ToLower(query)) } //List books -func (s *repository) List() ([]*Book, error) { +func (s *manager) List() ([]*Book, error) { return s.repo.List() } //Delete a book -func (s *repository) Delete(id entity.ID) error { +func (s *manager) Delete(id entity.ID) error { _, err := s.Get(id) if err != nil { return err @@ -50,6 +50,6 @@ func (s *repository) Delete(id entity.ID) error { } //Update a book -func (s *repository) Update(e *Book) error { +func (s *manager) Update(e *Book) error { return s.repo.Update(e) } diff --git a/domain/entity/book/repository_test.go b/domain/entity/book/manager_test.go similarity index 68% rename from domain/entity/book/repository_test.go rename to domain/entity/book/manager_test.go index 85e91f3..2249154 100644 --- a/domain/entity/book/repository_test.go +++ b/domain/entity/book/manager_test.go @@ -10,9 +10,9 @@ import ( func Test_Create(t *testing.T) { repo := NewInmemRepository() - service := NewRepository(repo) + m := NewManager(repo) u := NewFixtureBook() - id, err := service.Create(u) + id, err := m.Create(u) assert.Nil(t, err) assert.Equal(t, u.ID, id) assert.False(t, u.CreatedAt.IsZero()) @@ -20,32 +20,32 @@ func Test_Create(t *testing.T) { func Test_SearchAndFind(t *testing.T) { repo := NewInmemRepository() - service := NewRepository(repo) + m := NewManager(repo) u1 := NewFixtureBook() u2 := NewFixtureBook() u2.Title = "Lemmy: Biography" - uID, _ := service.Create(u1) - _, _ = service.Create(u2) + uID, _ := m.Create(u1) + _, _ = m.Create(u2) t.Run("search", func(t *testing.T) { - c, err := service.Search("ozzy") + c, err := m.Search("ozzy") assert.Nil(t, err) assert.Equal(t, 1, len(c)) assert.Equal(t, "I Am Ozzy", c[0].Title) - c, err = service.Search("dio") + c, err = m.Search("dio") assert.Equal(t, domain.ErrNotFound, err) assert.Nil(t, c) }) t.Run("list all", func(t *testing.T) { - all, err := service.List() + all, err := m.List() assert.Nil(t, err) assert.Equal(t, 2, len(all)) }) t.Run("get", func(t *testing.T) { - saved, err := service.Get(uID) + saved, err := m.Get(uID) assert.Nil(t, err) assert.Equal(t, u1.Title, saved.Title) }) @@ -53,30 +53,30 @@ func Test_SearchAndFind(t *testing.T) { func Test_Update(t *testing.T) { repo := NewInmemRepository() - service := NewRepository(repo) + m := NewManager(repo) u := NewFixtureBook() - id, err := service.Create(u) + id, err := m.Create(u) assert.Nil(t, err) - saved, _ := service.Get(id) + saved, _ := m.Get(id) saved.Title = "Lemmy: Biography" - assert.Nil(t, service.Update(saved)) - updated, err := service.Get(id) + assert.Nil(t, m.Update(saved)) + updated, err := m.Get(id) assert.Nil(t, err) assert.Equal(t, "Lemmy: Biography", updated.Title) } func TestDelete(t *testing.T) { repo := NewInmemRepository() - service := NewRepository(repo) + m := NewManager(repo) u1 := NewFixtureBook() u2 := NewFixtureBook() - u2ID, _ := service.Create(u2) + u2ID, _ := m.Create(u2) - err := service.Delete(u1.ID) + err := m.Delete(u1.ID) assert.Equal(t, domain.ErrNotFound, err) - err = service.Delete(u2ID) + err = m.Delete(u2ID) assert.Nil(t, err) - _, err = service.Get(u2ID) + _, err = m.Get(u2ID) assert.Equal(t, domain.ErrNotFound, err) } diff --git a/domain/entity/book/mock/book.go b/domain/entity/book/mock/book.go index 335a121..e213511 100644 --- a/domain/entity/book/mock/book.go +++ b/domain/entity/book/mock/book.go @@ -256,31 +256,31 @@ func (mr *MockRepositoryMockRecorder) Delete(id interface{}) *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockRepository)(nil).Delete), id) } -// MockUseCase is a mock of UseCase interface -type MockUseCase struct { +// MockManager is a mock of Manager interface +type MockManager struct { ctrl *gomock.Controller - recorder *MockUseCaseMockRecorder + recorder *MockManagerMockRecorder } -// MockUseCaseMockRecorder is the mock recorder for MockUseCase -type MockUseCaseMockRecorder struct { - mock *MockUseCase +// MockManagerMockRecorder is the mock recorder for MockManager +type MockManagerMockRecorder struct { + mock *MockManager } -// NewMockUseCase creates a new mock instance -func NewMockUseCase(ctrl *gomock.Controller) *MockUseCase { - mock := &MockUseCase{ctrl: ctrl} - mock.recorder = &MockUseCaseMockRecorder{mock} +// NewMockManager creates a new mock instance +func NewMockManager(ctrl *gomock.Controller) *MockManager { + mock := &MockManager{ctrl: ctrl} + mock.recorder = &MockManagerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use -func (m *MockUseCase) EXPECT() *MockUseCaseMockRecorder { +func (m *MockManager) EXPECT() *MockManagerMockRecorder { return m.recorder } // Get mocks base method -func (m *MockUseCase) Get(id entity.ID) (*book.Book, error) { +func (m *MockManager) Get(id entity.ID) (*book.Book, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Get", id) ret0, _ := ret[0].(*book.Book) @@ -289,13 +289,13 @@ func (m *MockUseCase) Get(id entity.ID) (*book.Book, error) { } // Get indicates an expected call of Get -func (mr *MockUseCaseMockRecorder) Get(id interface{}) *gomock.Call { +func (mr *MockManagerMockRecorder) Get(id interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockUseCase)(nil).Get), id) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockManager)(nil).Get), id) } // Search mocks base method -func (m *MockUseCase) Search(query string) ([]*book.Book, error) { +func (m *MockManager) Search(query string) ([]*book.Book, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Search", query) ret0, _ := ret[0].([]*book.Book) @@ -304,13 +304,13 @@ func (m *MockUseCase) Search(query string) ([]*book.Book, error) { } // Search indicates an expected call of Search -func (mr *MockUseCaseMockRecorder) Search(query interface{}) *gomock.Call { +func (mr *MockManagerMockRecorder) Search(query interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Search", reflect.TypeOf((*MockUseCase)(nil).Search), query) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Search", reflect.TypeOf((*MockManager)(nil).Search), query) } // List mocks base method -func (m *MockUseCase) List() ([]*book.Book, error) { +func (m *MockManager) List() ([]*book.Book, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "List") ret0, _ := ret[0].([]*book.Book) @@ -319,13 +319,13 @@ func (m *MockUseCase) List() ([]*book.Book, error) { } // List indicates an expected call of List -func (mr *MockUseCaseMockRecorder) List() *gomock.Call { +func (mr *MockManagerMockRecorder) List() *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockUseCase)(nil).List)) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockManager)(nil).List)) } // Create mocks base method -func (m *MockUseCase) Create(e *book.Book) (entity.ID, error) { +func (m *MockManager) Create(e *book.Book) (entity.ID, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Create", e) ret0, _ := ret[0].(entity.ID) @@ -334,13 +334,13 @@ func (m *MockUseCase) Create(e *book.Book) (entity.ID, error) { } // Create indicates an expected call of Create -func (mr *MockUseCaseMockRecorder) Create(e interface{}) *gomock.Call { +func (mr *MockManagerMockRecorder) Create(e interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockUseCase)(nil).Create), e) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockManager)(nil).Create), e) } // Update mocks base method -func (m *MockUseCase) Update(e *book.Book) error { +func (m *MockManager) Update(e *book.Book) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Update", e) ret0, _ := ret[0].(error) @@ -348,13 +348,13 @@ func (m *MockUseCase) Update(e *book.Book) error { } // Update indicates an expected call of Update -func (mr *MockUseCaseMockRecorder) Update(e interface{}) *gomock.Call { +func (mr *MockManagerMockRecorder) Update(e interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockUseCase)(nil).Update), e) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockManager)(nil).Update), e) } // Delete mocks base method -func (m *MockUseCase) Delete(id entity.ID) error { +func (m *MockManager) Delete(id entity.ID) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Delete", id) ret0, _ := ret[0].(error) @@ -362,7 +362,7 @@ func (m *MockUseCase) Delete(id entity.ID) error { } // Delete indicates an expected call of Delete -func (mr *MockUseCaseMockRecorder) Delete(id interface{}) *gomock.Call { +func (mr *MockManagerMockRecorder) Delete(id interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockUseCase)(nil).Delete), id) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockManager)(nil).Delete), id) } diff --git a/domain/entity/book/repository_mysql.go b/domain/entity/book/repository_mysql.go index 4ab968d..c46f051 100644 --- a/domain/entity/book/repository_mysql.go +++ b/domain/entity/book/repository_mysql.go @@ -14,8 +14,8 @@ type mySQLRepo struct { db *sql.DB } -//NewMySQLRepoRepository create new repository -func NewMySQLRepoRepository(db *sql.DB) *mySQLRepo { +//NewMySQLRepository create new repository +func NewMySQLRepository(db *sql.DB) *mySQLRepo { return &mySQLRepo{ db: db, } diff --git a/domain/entity/user/interface.go b/domain/entity/user/interface.go index b76c6ea..0fe933d 100644 --- a/domain/entity/user/interface.go +++ b/domain/entity/user/interface.go @@ -21,3 +21,8 @@ type Repository interface { Reader Writer } + +//Manager interface +type Manager interface { + Repository +} diff --git a/domain/entity/user/repository.go b/domain/entity/user/manager.go similarity index 63% rename from domain/entity/user/repository.go rename to domain/entity/user/manager.go index 47d5196..b6527e0 100644 --- a/domain/entity/user/repository.go +++ b/domain/entity/user/manager.go @@ -11,22 +11,22 @@ import ( "github.com/eminetto/clean-architecture-go-v2/domain/entity" ) -//repository service interface -type repository struct { +//manager interface +type manager struct { repo Repository pwd password.UseCase } -//NewRepository create new repository -func NewRepository(r Repository, pwd password.UseCase) *repository { - return &repository{ +//NewManager create new repository +func NewManager(r Repository, pwd password.UseCase) *manager { + return &manager{ repo: r, pwd: pwd, } } //Create an user -func (s *repository) Create(e *User) (entity.ID, error) { +func (s *manager) Create(e *User) (entity.ID, error) { e.ID = entity.NewID() e.CreatedAt = time.Now() pwd, err := s.pwd.Generate(e.Password) @@ -38,22 +38,22 @@ func (s *repository) Create(e *User) (entity.ID, error) { } //Get an user -func (s *repository) Get(id entity.ID) (*User, error) { +func (s *manager) Get(id entity.ID) (*User, error) { return s.repo.Get(id) } //Search users -func (s *repository) Search(query string) ([]*User, error) { +func (s *manager) Search(query string) ([]*User, error) { return s.repo.Search(strings.ToLower(query)) } //List users -func (s *repository) List() ([]*User, error) { +func (s *manager) List() ([]*User, error) { return s.repo.List() } //Delete an user -func (s *repository) Delete(id entity.ID) error { +func (s *manager) Delete(id entity.ID) error { u, err := s.Get(id) if err != nil { return err @@ -65,7 +65,7 @@ func (s *repository) Delete(id entity.ID) error { } //Update an user -func (s *repository) Update(e *User) error { +func (s *manager) Update(e *User) error { e.UpdatedAt = time.Now() return s.repo.Update(e) } diff --git a/domain/entity/user/repository_test.go b/domain/entity/user/manager_test.go similarity index 68% rename from domain/entity/user/repository_test.go rename to domain/entity/user/manager_test.go index 8f7a1c4..dba9b6e 100644 --- a/domain/entity/user/repository_test.go +++ b/domain/entity/user/manager_test.go @@ -13,9 +13,9 @@ import ( func Test_Create(t *testing.T) { repo := NewInmemRepository() - service := NewRepository(repo, password.NewFakeService()) + m := NewManager(repo, password.NewFakeService()) u := NewFixtureUser() - id, err := service.Create(u) + id, err := m.Create(u) assert.Nil(t, err) assert.Equal(t, u.ID, id) assert.False(t, u.CreatedAt.IsZero()) @@ -24,32 +24,32 @@ func Test_Create(t *testing.T) { func Test_SearchAndFind(t *testing.T) { repo := NewInmemRepository() - service := NewRepository(repo, password.NewFakeService()) + m := NewManager(repo, password.NewFakeService()) u1 := NewFixtureUser() u2 := NewFixtureUser() u2.FirstName = "Lemmy" - uID, _ := service.Create(u1) - _, _ = service.Create(u2) + uID, _ := m.Create(u1) + _, _ = m.Create(u2) t.Run("search", func(t *testing.T) { - c, err := service.Search("ozzy") + c, err := m.Search("ozzy") assert.Nil(t, err) assert.Equal(t, 1, len(c)) assert.Equal(t, "Osbourne", c[0].LastName) - c, err = service.Search("dio") + c, err = m.Search("dio") assert.Equal(t, domain.ErrNotFound, err) assert.Nil(t, c) }) t.Run("list all", func(t *testing.T) { - all, err := service.List() + all, err := m.List() assert.Nil(t, err) assert.Equal(t, 2, len(all)) }) t.Run("get", func(t *testing.T) { - saved, err := service.Get(uID) + saved, err := m.Get(uID) assert.Nil(t, err) assert.Equal(t, u1.FirstName, saved.FirstName) }) @@ -57,15 +57,15 @@ func Test_SearchAndFind(t *testing.T) { func Test_Update(t *testing.T) { repo := NewInmemRepository() - service := NewRepository(repo, password.NewFakeService()) + m := NewManager(repo, password.NewFakeService()) u := NewFixtureUser() - id, err := service.Create(u) + id, err := m.Create(u) assert.Nil(t, err) - saved, _ := service.Get(id) + saved, _ := m.Get(id) saved.FirstName = "Dio" saved.Books = append(saved.Books, entity.NewID()) - assert.Nil(t, service.Update(saved)) - updated, err := service.Get(id) + assert.Nil(t, m.Update(saved)) + updated, err := m.Get(id) assert.Nil(t, err) assert.Equal(t, "Dio", updated.FirstName) assert.False(t, u.UpdatedAt.IsZero()) @@ -74,16 +74,22 @@ func Test_Update(t *testing.T) { func TestDelete(t *testing.T) { repo := NewInmemRepository() - service := NewRepository(repo, password.NewFakeService()) + m := NewManager(repo, password.NewFakeService()) u1 := NewFixtureUser() u2 := NewFixtureUser() - u2ID, _ := service.Create(u2) + u2ID, _ := m.Create(u2) - err := service.Delete(u1.ID) + err := m.Delete(u1.ID) assert.Equal(t, domain.ErrNotFound, err) - err = service.Delete(u2ID) + err = m.Delete(u2ID) assert.Nil(t, err) - _, err = service.Get(u2ID) + _, err = m.Get(u2ID) assert.Equal(t, domain.ErrNotFound, err) + + u3 := NewFixtureUser() + u3.Books = []entity.ID{entity.NewID()} + _, _ = m.Create(u3) + err = m.Delete(u3.ID) + assert.Equal(t, domain.ErrCannotBeDeleted, err) } diff --git a/domain/entity/user/mock/user.go b/domain/entity/user/mock/user.go index b8aba8d..506b675 100644 --- a/domain/entity/user/mock/user.go +++ b/domain/entity/user/mock/user.go @@ -256,31 +256,31 @@ func (mr *MockRepositoryMockRecorder) Delete(id interface{}) *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockRepository)(nil).Delete), id) } -// MockUseCase is a mock of UseCase interface -type MockUseCase struct { +// MockManager is a mock of Manager interface +type MockManager struct { ctrl *gomock.Controller - recorder *MockUseCaseMockRecorder + recorder *MockManagerMockRecorder } -// MockUseCaseMockRecorder is the mock recorder for MockUseCase -type MockUseCaseMockRecorder struct { - mock *MockUseCase +// MockManagerMockRecorder is the mock recorder for MockManager +type MockManagerMockRecorder struct { + mock *MockManager } -// NewMockUseCase creates a new mock instance -func NewMockUseCase(ctrl *gomock.Controller) *MockUseCase { - mock := &MockUseCase{ctrl: ctrl} - mock.recorder = &MockUseCaseMockRecorder{mock} +// NewMockManager creates a new mock instance +func NewMockManager(ctrl *gomock.Controller) *MockManager { + mock := &MockManager{ctrl: ctrl} + mock.recorder = &MockManagerMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use -func (m *MockUseCase) EXPECT() *MockUseCaseMockRecorder { +func (m *MockManager) EXPECT() *MockManagerMockRecorder { return m.recorder } // Get mocks base method -func (m *MockUseCase) Get(id entity.ID) (*user.User, error) { +func (m *MockManager) Get(id entity.ID) (*user.User, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Get", id) ret0, _ := ret[0].(*user.User) @@ -289,13 +289,13 @@ func (m *MockUseCase) Get(id entity.ID) (*user.User, error) { } // Get indicates an expected call of Get -func (mr *MockUseCaseMockRecorder) Get(id interface{}) *gomock.Call { +func (mr *MockManagerMockRecorder) Get(id interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockUseCase)(nil).Get), id) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockManager)(nil).Get), id) } // Search mocks base method -func (m *MockUseCase) Search(query string) ([]*user.User, error) { +func (m *MockManager) Search(query string) ([]*user.User, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Search", query) ret0, _ := ret[0].([]*user.User) @@ -304,13 +304,13 @@ func (m *MockUseCase) Search(query string) ([]*user.User, error) { } // Search indicates an expected call of Search -func (mr *MockUseCaseMockRecorder) Search(query interface{}) *gomock.Call { +func (mr *MockManagerMockRecorder) Search(query interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Search", reflect.TypeOf((*MockUseCase)(nil).Search), query) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Search", reflect.TypeOf((*MockManager)(nil).Search), query) } // List mocks base method -func (m *MockUseCase) List() ([]*user.User, error) { +func (m *MockManager) List() ([]*user.User, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "List") ret0, _ := ret[0].([]*user.User) @@ -319,13 +319,13 @@ func (m *MockUseCase) List() ([]*user.User, error) { } // List indicates an expected call of List -func (mr *MockUseCaseMockRecorder) List() *gomock.Call { +func (mr *MockManagerMockRecorder) List() *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockUseCase)(nil).List)) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockManager)(nil).List)) } // Create mocks base method -func (m *MockUseCase) Create(e *user.User) (entity.ID, error) { +func (m *MockManager) Create(e *user.User) (entity.ID, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Create", e) ret0, _ := ret[0].(entity.ID) @@ -334,13 +334,13 @@ func (m *MockUseCase) Create(e *user.User) (entity.ID, error) { } // Create indicates an expected call of Create -func (mr *MockUseCaseMockRecorder) Create(e interface{}) *gomock.Call { +func (mr *MockManagerMockRecorder) Create(e interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockUseCase)(nil).Create), e) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockManager)(nil).Create), e) } // Update mocks base method -func (m *MockUseCase) Update(e *user.User) error { +func (m *MockManager) Update(e *user.User) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Update", e) ret0, _ := ret[0].(error) @@ -348,13 +348,13 @@ func (m *MockUseCase) Update(e *user.User) error { } // Update indicates an expected call of Update -func (mr *MockUseCaseMockRecorder) Update(e interface{}) *gomock.Call { +func (mr *MockManagerMockRecorder) Update(e interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockUseCase)(nil).Update), e) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockManager)(nil).Update), e) } // Delete mocks base method -func (m *MockUseCase) Delete(id entity.ID) error { +func (m *MockManager) Delete(id entity.ID) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Delete", id) ret0, _ := ret[0].(error) @@ -362,7 +362,7 @@ func (m *MockUseCase) Delete(id entity.ID) error { } // Delete indicates an expected call of Delete -func (mr *MockUseCaseMockRecorder) Delete(id interface{}) *gomock.Call { +func (mr *MockManagerMockRecorder) Delete(id interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockUseCase)(nil).Delete), id) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockManager)(nil).Delete), id) } diff --git a/domain/usecase/loan/mock/loan.go b/domain/usecase/loan/mock/loan.go index 8369c26..ce46511 100644 --- a/domain/usecase/loan/mock/loan.go +++ b/domain/usecase/loan/mock/loan.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: domain/loan/interface.go +// Source: domain/usecase/loan/interface.go // Package mock is a generated GoMock package. package mock diff --git a/domain/usecase/loan/usecase.go b/domain/usecase/loan/usecase.go index 3c2acdb..b759586 100644 --- a/domain/usecase/loan/usecase.go +++ b/domain/usecase/loan/usecase.go @@ -13,7 +13,7 @@ type usecase struct { } //NewUseCase create new use case -func NewUseCase(u user.Repository, b book.Repository) *usecase { +func NewUseCase(u user.Manager, b book.Manager) *usecase { return &usecase{ uService: u, bService: b, diff --git a/domain/usecase/loan/usecase_test.go b/domain/usecase/loan/usecase_test.go index 1a33620..78f0f0e 100644 --- a/domain/usecase/loan/usecase_test.go +++ b/domain/usecase/loan/usecase_test.go @@ -17,8 +17,8 @@ import ( func Test_Borrow(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - uMock := umock.NewMockUseCase(controller) - bMock := bmock.NewMockUseCase(controller) + uMock := umock.NewMockManager(controller) + bMock := bmock.NewMockManager(controller) service := NewUseCase(uMock, bMock) t.Run("user not found", func(t *testing.T) { u := user.NewFixtureUser() @@ -69,8 +69,8 @@ func Test_Borrow(t *testing.T) { func Test_Return(t *testing.T) { controller := gomock.NewController(t) defer controller.Finish() - uMock := umock.NewMockUseCase(controller) - bMock := bmock.NewMockUseCase(controller) + uMock := umock.NewMockManager(controller) + bMock := bmock.NewMockManager(controller) service := NewUseCase(uMock, bMock) t.Run("book not found", func(t *testing.T) { b := book.NewFixtureBook()