Skip to content

Commit fe13bb2

Browse files
fix(coderd/x/chatd): seed afterMessageID test directly (#25665)
This fixes the flaky `TestSubscribeAfterMessageID` by seeding its chat and messages directly, so the test no longer creates pending work that a chat worker can pick up. The assertion now covers only the `afterMessageID` subscription behavior, independent of chat processing lifecycle timing. Closes DEVEX-326 Closes coder/internal#1489
1 parent 84240da commit fe13bb2

1 file changed

Lines changed: 22 additions & 9 deletions

File tree

coderd/x/chatd/chatd_test.go

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4782,18 +4782,30 @@ func TestSubscribeAfterMessageID(t *testing.T) {
47824782
ctx := testutil.Context(t, testutil.WaitLong)
47834783
user, org, model := seedChatDependencies(t, db)
47844784

4785-
// Create a chat. This inserts one initial "user" message.
4786-
chat, err := replica.CreateChat(ctx, chatd.CreateOptions{
4787-
OrganizationID: org.ID,
4788-
OwnerID: user.ID,
4789-
Title: "after-id-test",
4790-
ModelConfigID: model.ID,
4791-
InitialUserContent: []codersdk.ChatMessagePart{codersdk.ChatMessageText("first")},
4785+
chat := dbgen.Chat(t, db, database.Chat{
4786+
OrganizationID: org.ID,
4787+
OwnerID: user.ID,
4788+
LastModelConfigID: model.ID,
4789+
Title: "after-id-test",
4790+
Status: database.ChatStatusWaiting,
4791+
})
4792+
4793+
// Seed all messages directly so this subscription test is independent
4794+
// of chat processing lifecycle behavior.
4795+
firstContent, err := chatprompt.MarshalParts([]codersdk.ChatMessagePart{
4796+
codersdk.ChatMessageText("first"),
47924797
})
47934798
require.NoError(t, err)
47944799

4795-
// Insert two more messages so we have three total visible
4796-
// messages (the initial user message plus these two).
4800+
_ = dbgen.ChatMessage(t, db, database.ChatMessage{
4801+
ChatID: chat.ID,
4802+
CreatedBy: uuid.NullUUID{UUID: user.ID, Valid: true},
4803+
ModelConfigID: uuid.NullUUID{UUID: model.ID, Valid: true},
4804+
Role: database.ChatMessageRoleUser,
4805+
ContentVersion: chatprompt.CurrentContentVersion,
4806+
Content: firstContent,
4807+
})
4808+
47974809
secondContent, err := chatprompt.MarshalParts([]codersdk.ChatMessagePart{
47984810
codersdk.ChatMessageText("second"),
47994811
})
@@ -4814,6 +4826,7 @@ func TestSubscribeAfterMessageID(t *testing.T) {
48144826

48154827
_ = dbgen.ChatMessage(t, db, database.ChatMessage{
48164828
ChatID: chat.ID,
4829+
CreatedBy: uuid.NullUUID{UUID: user.ID, Valid: true},
48174830
ModelConfigID: uuid.NullUUID{UUID: model.ID, Valid: true},
48184831
Role: database.ChatMessageRoleUser,
48194832
ContentVersion: chatprompt.CurrentContentVersion,

0 commit comments

Comments
 (0)