Skip to content

Commit 14de297

Browse files
Add test to daoerr.WrapPostgresError
1 parent 175455e commit 14de297

File tree

3 files changed

+42
-2
lines changed

3 files changed

+42
-2
lines changed

dao/err/dao_error.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package daoErr
1+
package daoerr
22

33
type DaoErrorCode string
44

dao/err/postgres_error_wrapper.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package daoErr
1+
package daoerr
22

33
import (
44
"database/sql"
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package daoerr_test
2+
3+
import (
4+
"database/sql"
5+
"errors"
6+
"testing"
7+
8+
daoerr "github.com/go-feature-flag/app-api/dao/err"
9+
"github.com/lib/pq"
10+
"github.com/stretchr/testify/assert"
11+
)
12+
13+
func TestWrapPostgresError(t *testing.T) {
14+
tests := []struct {
15+
name string
16+
err error
17+
want daoerr.DaoError
18+
}{
19+
{
20+
name: "should return not found error",
21+
err: sql.ErrNoRows,
22+
want: daoerr.NewDaoError(daoerr.NotFound, sql.ErrNoRows),
23+
},
24+
{
25+
name: "should return invalid uuid error",
26+
err: &pq.Error{Code: "22P02"},
27+
want: daoerr.NewDaoError(daoerr.InvalidUUID, &pq.Error{Code: "22P02"}),
28+
},
29+
{
30+
name: "should return an unknown error",
31+
err: errors.New("random error"),
32+
want: daoerr.NewDaoError(daoerr.UnknownError, errors.New("random error")),
33+
},
34+
}
35+
for _, tt := range tests {
36+
t.Run(tt.name, func(t *testing.T) {
37+
assert.Equal(t, tt.want, daoerr.WrapPostgresError(tt.err))
38+
})
39+
}
40+
}

0 commit comments

Comments
 (0)