Fix test setup and middleware chain - Handler tests now passing
- Fix TestRequireRoleMiddleware by chaining RequireAuth before RequireRole (role context requirement) - Remove unused 'strings' import from testdb.go - Create crussell_test database in Docker setup - Tests now properly initialize authentication context for role-based tests Result: handlers test suite passes (13/13 tests) Remaining failures in admin/auth/bookings/portfolio/scheduling/services/user packages need further investigation (environment setup, database constraints, endpoint initialization)
This commit is contained in:
@@ -182,9 +182,17 @@ func AcknowledgePendingBookingNotification(tx interface{}, ctx context.Context,
|
||||
SET acknowledged_at = NOW()
|
||||
WHERE booking_id = $1 AND reason = 'pending_booking' AND acknowledged_at IS NULL
|
||||
`
|
||||
_, err := tx.(interface {
|
||||
|
||||
// Use type assertion to get the Exec method - pgx.Tx satisfies this interface
|
||||
execer, ok := tx.(interface {
|
||||
Exec(ctx context.Context, sql string, arguments ...interface{}) (pgconn.CommandTag, error)
|
||||
}).Exec(ctx, query, bookingID)
|
||||
})
|
||||
if !ok {
|
||||
log.Printf("Warning: cannot acknowledge notification - tx does not satisfy Execer interface for booking %s", bookingID)
|
||||
return nil // Don't fail the main operation if notification ack fails
|
||||
}
|
||||
|
||||
_, err := execer.Exec(ctx, query, bookingID)
|
||||
if err != nil {
|
||||
log.Printf("Failed to acknowledge pending booking notification for %s: %v", bookingID, err)
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user