@@ -2,7 +2,6 @@ package repository
22
33import (
44 "database/sql"
5- "errors"
65 "go-api-template/model/commonerrors"
76 "go-api-template/pkg/random"
87 "go-api-template/repository/model"
@@ -35,26 +34,29 @@ func (suite *UserTestSuite) SetupTest() {
3534 suite .db = sqlx .NewDb (db , "sqlmock" )
3635 suite .repository = NewUser (suite .db )
3736 suite .userID = random .UUID4 ()
38- suite .failedError = errors . New ( "failed" )
37+ suite .failedError = commonerrors . ErrFailed
3938}
4039
4140func (suite * UserTestSuite ) TearDownTest () {
42- suite .db .Close ()
41+ if err := suite .db .Close (); err != nil {
42+ suite .T ().Errorf ("closing database connection failed. %v" , err )
43+ }
4344}
4445
4546func Test_User_TestSuite (t * testing.T ) {
47+ t .Parallel () // Enable parallel execution
4648 suite .Run (t , & UserTestSuite {})
4749}
4850
4951func (suite * UserTestSuite ) Test_Begin_ReturnsError_InCaseOfBeginFailed () {
5052 // Arrange
51- suite .dbMock .ExpectBegin ().WillReturnError (errors . New ( "failed" ) )
53+ suite .dbMock .ExpectBegin ().WillReturnError (suite . failedError )
5254
5355 // Act
5456 _ , err := suite .repository .Begin ()
5557
5658 // Assert
57- suite .Error (err )
59+ suite .Require (). Error (err )
5860}
5961
6062func (suite * UserTestSuite ) Test_Begin_ReturnsTransaction_InCaseOfSuccess () {
@@ -65,7 +67,7 @@ func (suite *UserTestSuite) Test_Begin_ReturnsTransaction_InCaseOfSuccess() {
6567 tx , err := suite .repository .Begin ()
6668
6769 // Assert
68- suite .NoError (err )
70+ suite .Require (). NoError (err )
6971 suite .NotNil (tx )
7072}
7173
@@ -75,13 +77,13 @@ func (suite *UserTestSuite) Test_SelectUserByFilter_ReturnsError_InCaseOfSelectF
7577 ID : & suite .userID ,
7678 }
7779
78- suite .dbMock .ExpectQuery ("SELECT" ).WillReturnError (errors . New ( "failed" ) )
80+ suite .dbMock .ExpectQuery ("SELECT" ).WillReturnError (suite . failedError )
7981
8082 // Act
8183 _ , err := suite .repository .SelectUserByFilter (usersFilter )
8284
8385 // Assert
84- suite .Error (err )
86+ suite .Require (). Error (err )
8587}
8688
8789func (suite * UserTestSuite ) Test_SelectUserByFilter_ReturnsError_InCaseOfUserNotFound () {
@@ -96,7 +98,7 @@ func (suite *UserTestSuite) Test_SelectUserByFilter_ReturnsError_InCaseOfUserNot
9698 _ , err := suite .repository .SelectUserByFilter (usersFilter )
9799
98100 // Assert
99- suite .Error (err )
101+ suite .Require (). Error (err )
100102 suite .Equal (commonerrors .ErrUserNotFound , err )
101103}
102104
@@ -114,7 +116,7 @@ func (suite *UserTestSuite) Test_SelectUserByFilter_ReturnsUser_InCaseOfSuccess(
114116 user , err := suite .repository .SelectUserByFilter (usersFilter )
115117
116118 // Assert
117- suite .NoError (err )
119+ suite .Require (). NoError (err )
118120 suite .NotNil (user )
119121 suite .Equal (suite .userID , user .ID )
120122}
0 commit comments