fix tests
This commit is contained in:
@@ -30,8 +30,8 @@ func TestInsertAccessLogLogin(t *testing.T) {
|
||||
Time: currentTime,
|
||||
}
|
||||
|
||||
mock.ExpectExec(`INSERT INTO access_log \( user_id, participant_id, activity_type, ip_address, field_updated, time\) VALUES \(\?, \?, \?, \?, \?, \?\)`).
|
||||
WithArgs(&userID, &participantID, activityType, ipAddress, &fieldData, currentTime).
|
||||
mock.ExpectExec(`INSERT INTO access_log \( user_id, activity_type, ip_address, field_updated, time\) VALUES \(\?, \?, \?, \?, \?\)`).
|
||||
WithArgs(&userID, activityType, ipAddress, &fieldData, currentTime).
|
||||
WillReturnResult(sqlmock.NewResult(1, 1))
|
||||
|
||||
err := InsertAccessLogLogin(accessLog)
|
||||
@@ -62,8 +62,8 @@ func TestInsertAccessLogLoginNullFields(t *testing.T) {
|
||||
Time: currentTime,
|
||||
}
|
||||
|
||||
mock.ExpectExec(`INSERT INTO access_log \( user_id, participant_id, activity_type, ip_address, field_updated, time\) VALUES \(\?, \?, \?, \?, \?, \?\)`).
|
||||
WithArgs(nil, nil, activityType, ipAddress, nil, currentTime).
|
||||
mock.ExpectExec(`INSERT INTO access_log \( user_id, activity_type, ip_address, field_updated, time\) VALUES \(\?, \?, \?, \?, \?\)`).
|
||||
WithArgs(nil, activityType, ipAddress, nil, currentTime).
|
||||
WillReturnResult(sqlmock.NewResult(1, 1))
|
||||
|
||||
err := InsertAccessLogLogin(accessLog)
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ func GetUserID(email string) (string, error) {
|
||||
func CheckEmailInDB(email string) (bool, error) {
|
||||
var exists bool
|
||||
query := `SELECT EXISTS (
|
||||
SELECT 1 FROM users WHERE email_address = ? AND is_deleted = 0);`
|
||||
SELECT 1 FROM users WHERE email_address = ? AND is_deleted = 0)`
|
||||
err := db.DB.QueryRow(query, email).Scan(&exists)
|
||||
if err != nil {
|
||||
return false, err
|
||||
|
||||
+15
-28
@@ -32,14 +32,11 @@ func TestGetUser(t *testing.T) {
|
||||
|
||||
email := "test@example.com"
|
||||
expectedID := "user123"
|
||||
expectedFirstName := "John"
|
||||
expectedLastName := "Doe"
|
||||
expectedEmail := "test@example.com"
|
||||
|
||||
rows := sqlmock.NewRows([]string{"id", "first_name", "last_name", "email_address"}).
|
||||
AddRow(expectedID, expectedFirstName, expectedLastName, expectedEmail)
|
||||
rows := sqlmock.NewRows([]string{"user_id"}).
|
||||
AddRow(expectedID)
|
||||
|
||||
mock.ExpectQuery(`SELECT id, first_name, last_name, email_address FROM users WHERE email_address = \? AND is_deleted = 0 LIMIT 1`).
|
||||
mock.ExpectQuery(`SELECT user_id FROM users WHERE email_address = \? AND is_deleted = 0 LIMIT 1;`).
|
||||
WithArgs(email).
|
||||
WillReturnRows(rows)
|
||||
|
||||
@@ -51,7 +48,7 @@ func TestGetUserNotFound(t *testing.T) {
|
||||
|
||||
email := "nonexistent@example.com"
|
||||
|
||||
mock.ExpectQuery(`SELECT id, first_name, last_name, email_address FROM users WHERE email_address = \? AND is_deleted = 0 LIMIT 1`).
|
||||
mock.ExpectQuery(`SELECT user_id FROM users WHERE email_address = \? AND is_deleted = 0 LIMIT 1;`).
|
||||
WithArgs(email).
|
||||
WillReturnError(sql.ErrNoRows)
|
||||
|
||||
@@ -73,10 +70,10 @@ func TestGetUserNullNames(t *testing.T) {
|
||||
email := "test@example.com"
|
||||
expectedID := "user456"
|
||||
|
||||
rows := sqlmock.NewRows([]string{"id", "first_name", "last_name", "email_address"}).
|
||||
AddRow(expectedID, nil, nil, email)
|
||||
rows := sqlmock.NewRows([]string{"user_id"}).
|
||||
AddRow(expectedID)
|
||||
|
||||
mock.ExpectQuery(`SELECT id, first_name, last_name, email_address FROM users WHERE email_address = \? AND is_deleted = 0 LIMIT 1`).
|
||||
mock.ExpectQuery(`SELECT user_id FROM users WHERE email_address = \? AND is_deleted = 0 LIMIT 1;`).
|
||||
WithArgs(email).
|
||||
WillReturnRows(rows)
|
||||
|
||||
@@ -99,11 +96,10 @@ func TestGetUserID(t *testing.T) {
|
||||
email := "test@example.com"
|
||||
expectedID := "user789"
|
||||
|
||||
rows := sqlmock.NewRows([]string{"id"}).
|
||||
rows := sqlmock.NewRows([]string{"user_id"}).
|
||||
AddRow(expectedID)
|
||||
|
||||
// Note: The query has a typo "SELECT id, FROM" but we match it as-is
|
||||
mock.ExpectQuery(`SELECT id, FROM users WHERE email_address = \? AND is_deleted = 0 LIMIT 1`).
|
||||
mock.ExpectQuery(`SELECT user_id FROM users WHERE email_address = \? AND is_deleted = 0 LIMIT 1;`).
|
||||
WithArgs(email).
|
||||
WillReturnRows(rows)
|
||||
|
||||
@@ -201,7 +197,7 @@ func TestGetUserIDFromEmail(t *testing.T) {
|
||||
rows := sqlmock.NewRows([]string{"id"}).
|
||||
AddRow(expectedID)
|
||||
|
||||
mock.ExpectQuery(`SELECT id FROM \( SELECT id, 1 AS priority FROM users WHERE email_address = \? AND is_deleted = 0 \) t ORDER BY priority ASC LIMIT 1`).
|
||||
mock.ExpectQuery(`SELECT user_id FROM \( SELECT user_id, 1 AS priority FROM users WHERE email_address = \? AND is_deleted = 0 \) t ORDER BY priority ASC LIMIT 1;`).
|
||||
WithArgs(email).
|
||||
WillReturnRows(rows)
|
||||
|
||||
@@ -226,7 +222,7 @@ func TestGetUserIDFromEmailNotFound(t *testing.T) {
|
||||
|
||||
email := "notfound@example.com"
|
||||
|
||||
mock.ExpectQuery(`SELECT id FROM \( SELECT id, 1 AS priority FROM users WHERE email_address = \? AND is_deleted = 0 \) t ORDER BY priority ASC LIMIT 1`).
|
||||
mock.ExpectQuery(`SELECT user_id FROM \( SELECT user_id, 1 AS priority FROM users WHERE email_address = \? AND is_deleted = 0 \) t ORDER BY priority ASC LIMIT 1;`).
|
||||
WithArgs(email).
|
||||
WillReturnError(sql.ErrNoRows)
|
||||
|
||||
@@ -247,7 +243,7 @@ func TestGetUserIDFromEmailDBError(t *testing.T) {
|
||||
|
||||
email := "error@example.com"
|
||||
|
||||
mock.ExpectQuery(`SELECT id FROM \( SELECT id, 1 AS priority FROM users WHERE email_address = \? AND is_deleted = 0 \) t ORDER BY priority ASC LIMIT 1`).
|
||||
mock.ExpectQuery(`SELECT user_id FROM \( SELECT user_id, 1 AS priority FROM users WHERE email_address = \? AND is_deleted = 0 \) t ORDER BY priority ASC LIMIT 1;`).
|
||||
WithArgs(email).
|
||||
WillReturnError(sql.ErrConnDone)
|
||||
|
||||
@@ -282,19 +278,10 @@ func TestGetUserMultipleEmails(t *testing.T) {
|
||||
|
||||
for _, tc := range testCases {
|
||||
t.Run(tc.email, func(t *testing.T) {
|
||||
var firstName, lastName interface{}
|
||||
if tc.hasNames {
|
||||
firstName = "First"
|
||||
lastName = "Last"
|
||||
} else {
|
||||
firstName = nil
|
||||
lastName = nil
|
||||
}
|
||||
rows := sqlmock.NewRows([]string{"user_id"}).
|
||||
AddRow(tc.userID)
|
||||
|
||||
rows := sqlmock.NewRows([]string{"id", "first_name", "last_name", "email_address"}).
|
||||
AddRow(tc.userID, firstName, lastName, tc.email)
|
||||
|
||||
mock.ExpectQuery(`SELECT id, first_name, last_name, email_address FROM users WHERE email_address = \? AND is_deleted = 0 LIMIT 1`).
|
||||
mock.ExpectQuery(`SELECT user_id FROM users WHERE email_address = \? AND is_deleted = 0 LIMIT 1;`).
|
||||
WithArgs(tc.email).
|
||||
WillReturnRows(rows)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user