From 00868d8d9f8d87880903aefbb5065ed3a792594b Mon Sep 17 00:00:00 2001 From: vilaca Date: Fri, 16 Jun 2023 19:34:43 +0100 Subject: [PATCH 1/2] fix get user --- pkg/common/db/user.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/common/db/user.go b/pkg/common/db/user.go index e45b3e6..f214dd5 100644 --- a/pkg/common/db/user.go +++ b/pkg/common/db/user.go @@ -37,11 +37,11 @@ func (repo PostgresUserRepository) GetUser(id string) (*models.User, error) { var user models.User rows, err := repo.db.Conn.Query(context.Background(), sql, id) if err != nil { - panic(err) + return nil, err } if err := pgxscan.ScanOne(&user, rows); err != nil { - panic(err) + return nil, nil } return &user, nil From a569a512774f25596a155211182d9609b603c23a Mon Sep 17 00:00:00 2001 From: vilaca Date: Fri, 16 Jun 2023 19:44:59 +0100 Subject: [PATCH 2/2] unit test --- pkg/common/router/user_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkg/common/router/user_test.go b/pkg/common/router/user_test.go index b8d3eef..8cbe80c 100644 --- a/pkg/common/router/user_test.go +++ b/pkg/common/router/user_test.go @@ -44,3 +44,15 @@ func TestGetUser(t *testing.T) { assert.Equal(t, http.StatusOK, rec.Code) } } +func TestNoUserRecord(t *testing.T) { + + req, rec := makeRequest(http.MethodGet, "/", nil) + c := testEchoContext.NewContext(req, rec) + c.SetPath("/users/:id") + c.SetParamNames("id") + c.SetParamValues("") + + if assert.NoError(t, testHandler.GetUser(c)) { + assert.Equal(t, http.StatusNotFound, rec.Code) + } +}