MCPcopy Index your code
hub / github.com/coder/coder / TestEditMessagePreservesModelConfigByDefault

Function TestEditMessagePreservesModelConfigByDefault

coderd/x/chatd/chatd_test.go:8998–9036  ·  view source on GitHub ↗

TestEditMessagePreservesModelConfigByDefault verifies that omitting ModelConfigID on edit keeps the original message's model. This is the existing default for callers that only edit the text.

(t *testing.T)

Source from the content-addressed store, hash-verified

8996// ModelConfigID on edit keeps the original message's model. This is the
8997// existing default for callers that only edit the text.
8998func TestEditMessagePreservesModelConfigByDefault(t *testing.T) {
8999 t.Parallel()
9000
9001 db, ps := dbtestutil.NewDB(t)
9002 replica := newTestServer(t, db, ps, uuid.New())
9003
9004 ctx := testutil.Context(t, testutil.WaitLong)
9005 user, org, modelA := seedChatDependencies(t, db)
9006
9007 chat, err := replica.CreateChat(ctx, chatd.CreateOptions{
9008 OwnerID: user.ID,
9009 OrganizationID: org.ID,
9010 Title: "edit-preserves-model",
9011 ModelConfigID: modelA.ID,
9012 InitialUserContent: []codersdk.ChatMessagePart{codersdk.ChatMessageText("original")},
9013 })
9014 require.NoError(t, err)
9015
9016 initial, err := db.GetChatMessagesByChatID(ctx, database.GetChatMessagesByChatIDParams{
9017 ChatID: chat.ID,
9018 AfterID: 0,
9019 })
9020 require.NoError(t, err)
9021 require.Len(t, initial, 1)
9022
9023 result, err := replica.EditMessage(ctx, chatd.EditMessageOptions{
9024 ChatID: chat.ID,
9025 EditedMessageID: initial[0].ID,
9026 Content: []codersdk.ChatMessagePart{codersdk.ChatMessageText("edited")},
9027 })
9028 require.NoError(t, err)
9029 require.True(t, result.Message.ModelConfigID.Valid)
9030 require.Equal(t, modelA.ID, result.Message.ModelConfigID.UUID)
9031
9032 storedChat, err := db.GetChatByID(ctx, chat.ID)
9033 require.NoError(t, err)
9034 require.Equal(t, modelA.ID, storedChat.LastModelConfigID,
9035 "edit without model override must not change last_model_config_id")
9036}
9037
9038// TestEditMessageRejectsUnknownModelConfig verifies the edit handler
9039// returns ErrInvalidModelConfigID when the requested model does not

Callers

nothing calls this directly

Calls 12

NewDBFunction · 0.92
ContextFunction · 0.92
ChatMessageTextFunction · 0.92
EditMessageMethod · 0.80
newTestServerFunction · 0.70
seedChatDependenciesFunction · 0.70
NewMethod · 0.65
CreateChatMethod · 0.65
GetChatByIDMethod · 0.65
LenMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected