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

Function TestPostChatMessages

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

Source from the content-addressed store, hash-verified

6239}
6240
6241func TestPostChatMessages(t *testing.T) {
6242 t.Parallel()
6243
6244 t.Run("Success", func(t *testing.T) {
6245 t.Parallel()
6246
6247 ctx := testutil.Context(t, testutil.WaitLong)
6248 client := newChatClient(t)
6249 firstUser := coderdtest.CreateFirstUser(t, client.Client)
6250 _ = createChatModelConfig(t, client)
6251
6252 chat, err := client.CreateChat(ctx, codersdk.CreateChatRequest{
6253 OrganizationID: firstUser.OrganizationID,
6254 Content: []codersdk.ChatInputPart{
6255 {
6256 Type: codersdk.ChatInputPartTypeText,
6257 Text: "initial message for post route test",
6258 },
6259 },
6260 })
6261 require.NoError(t, err)
6262
6263 hasTextPart := func(parts []codersdk.ChatMessagePart, want string) bool {
6264 for _, part := range parts {
6265 if part.Type == codersdk.ChatMessagePartTypeText && part.Text == want {
6266 return true
6267 }
6268 }
6269 return false
6270 }
6271
6272 messageText := "post message route success " + uuid.NewString()
6273 created, err := client.CreateChatMessage(ctx, chat.ID, codersdk.CreateChatMessageRequest{
6274 Content: []codersdk.ChatInputPart{
6275 {
6276 Type: codersdk.ChatInputPartTypeText,
6277 Text: messageText,
6278 },
6279 },
6280 })
6281 require.NoError(t, err)
6282
6283 if created.Queued {
6284 require.Nil(t, created.Message)
6285 require.NotNil(t, created.QueuedMessage)
6286 require.Equal(t, chat.ID, created.QueuedMessage.ChatID)
6287 require.NotZero(t, created.QueuedMessage.ID)
6288 require.True(t, hasTextPart(created.QueuedMessage.Content, messageText))
6289
6290 require.Eventually(t, func() bool {
6291 messagesResult, getErr := client.GetChatMessages(ctx, chat.ID, nil)
6292 if getErr != nil {
6293 return false
6294 }
6295
6296 for _, queued := range messagesResult.QueuedMessages {
6297 if queued.ID == created.QueuedMessage.ID &&
6298 queued.ChatID == chat.ID &&

Callers

nothing calls this directly

Calls 15

CreateChatMessageMethod · 0.95
ContextFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
NewExperimentalClientFunction · 0.92
ChatFunction · 0.92
RefFunction · 0.92
requireSDKErrorFunction · 0.85

Tested by

no test coverage detected