fix: db was failing under testing
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"sort"
|
"sort"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/jackc/pgx/v5"
|
"github.com/jackc/pgx/v5"
|
||||||
)
|
)
|
||||||
@@ -145,16 +146,32 @@ func (s *Store) ListConversationsForUser(ctx context.Context, userID int64) ([]C
|
|||||||
var list []ConversationSummary
|
var list []ConversationSummary
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
var cs ConversationSummary
|
var cs ConversationSummary
|
||||||
var msg Message
|
var (
|
||||||
|
msgID *int64
|
||||||
|
msgConvID *int64
|
||||||
|
msgSender *int64
|
||||||
|
msgBody *string
|
||||||
|
msgCreated *time.Time
|
||||||
|
msgEdited *time.Time
|
||||||
|
msgDeleted *time.Time
|
||||||
|
)
|
||||||
if err := rows.Scan(
|
if err := rows.Scan(
|
||||||
&cs.ID, &cs.Type, &cs.CreatedAt,
|
&cs.ID, &cs.Type, &cs.CreatedAt,
|
||||||
&msg.ID, &msg.ConversationID, &msg.SenderID, &msg.Body, &msg.CreatedAt, &msg.EditedAt, &msg.DeletedAt,
|
&msgID, &msgConvID, &msgSender, &msgBody, &msgCreated, &msgEdited, &msgDeleted,
|
||||||
&cs.UnreadCount,
|
&cs.UnreadCount,
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if msg.ID != 0 {
|
if msgID != nil {
|
||||||
cs.LastMessage = &msg
|
cs.LastMessage = &Message{
|
||||||
|
ID: *msgID,
|
||||||
|
ConversationID: *msgConvID,
|
||||||
|
SenderID: *msgSender,
|
||||||
|
Body: *msgBody,
|
||||||
|
CreatedAt: *msgCreated,
|
||||||
|
EditedAt: msgEdited,
|
||||||
|
DeletedAt: msgDeleted,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
list = append(list, cs)
|
list = append(list, cs)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,9 @@ func TestIntegration(t *testing.T) {
|
|||||||
if err := db.Migrate(ctx); err != nil {
|
if err := db.Migrate(ctx); err != nil {
|
||||||
t.Fatalf("Migrate failed: %v", err)
|
t.Fatalf("Migrate failed: %v", err)
|
||||||
}
|
}
|
||||||
|
if _, err := pool.Exec(ctx, "TRUNCATE users, conversations, messages, contacts, sessions RESTART IDENTITY CASCADE"); err != nil {
|
||||||
|
t.Fatalf("truncate failed: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
// Users
|
// Users
|
||||||
u1, err := db.CreateUser(ctx, "user1", "User One", "hash1")
|
u1, err := db.CreateUser(ctx, "user1", "User One", "hash1")
|
||||||
|
|||||||
Reference in New Issue
Block a user