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

Function TestPromoteChatQueuedMessage

coderd/exp_chats_test.go:8999–9477  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

8997}
8998
8999func TestPromoteChatQueuedMessage(t *testing.T) {
9000 t.Parallel()
9001
9002 t.Run("Success", func(t *testing.T) {
9003 t.Parallel()
9004
9005 ctx := testutil.Context(t, testutil.WaitLong)
9006 client, db := newChatClientWithDatabase(t)
9007 user := coderdtest.CreateFirstUser(t, client.Client)
9008 modelConfig := createChatModelConfig(t, client)
9009
9010 chat := dbgen.Chat(t, db, database.Chat{
9011 OrganizationID: user.OrganizationID,
9012 OwnerID: user.UserID,
9013 LastModelConfigID: modelConfig.ID,
9014 Title: "promote queued message route test",
9015 })
9016
9017 const queuedText = "queued message for promote route"
9018 queuedContent, err := json.Marshal([]codersdk.ChatMessagePart{
9019 codersdk.ChatMessageText(queuedText),
9020 })
9021 require.NoError(t, err)
9022 queuedMessage, err := db.InsertChatQueuedMessage(
9023 dbauthz.AsSystemRestricted(ctx),
9024 database.InsertChatQueuedMessageParams{
9025 ChatID: chat.ID,
9026 Content: queuedContent,
9027 },
9028 )
9029 require.NoError(t, err)
9030
9031 promoteRes, err := client.Request(
9032 ctx,
9033 http.MethodPost,
9034 fmt.Sprintf("/api/experimental/chats/%s/queue/%d/promote", chat.ID, queuedMessage.ID),
9035 nil,
9036 )
9037 require.NoError(t, err)
9038 defer promoteRes.Body.Close()
9039 require.Equal(t, http.StatusAccepted, promoteRes.StatusCode)
9040
9041 var resp codersdk.Response
9042 require.NoError(t, json.NewDecoder(promoteRes.Body).Decode(&resp))
9043 require.NotEmpty(t, resp.Message)
9044
9045 messagesResult, err := client.GetChatMessages(ctx, chat.ID, nil)
9046 require.NoError(t, err)
9047 for _, queued := range messagesResult.QueuedMessages {
9048 require.NotEqual(t, queuedMessage.ID, queued.ID)
9049 }
9050
9051 foundPromoted := false
9052 for _, msg := range messagesResult.Messages {
9053 if msg.Role != codersdk.ChatMessageRoleUser {
9054 continue
9055 }
9056 for _, part := range msg.Content {

Callers

nothing calls this directly

Calls 15

ContextFunction · 0.92
CreateFirstUserFunction · 0.92
ChatFunction · 0.92
ChatMessageTextFunction · 0.92
AsSystemRestrictedFunction · 0.92
ReadBodyAsErrorFunction · 0.92
CreateAnotherUserFunction · 0.92
NewExperimentalClientFunction · 0.92
MarshalPartsFunction · 0.92
ParseContentFunction · 0.92
NowFunction · 0.92

Tested by

no test coverage detected