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

Function TestGetChat

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

Source from the content-addressed store, hash-verified

4375}
4376
4377func TestGetChat(t *testing.T) {
4378 t.Parallel()
4379
4380 t.Run("Success", func(t *testing.T) {
4381 t.Parallel()
4382
4383 ctx := testutil.Context(t, testutil.WaitLong)
4384 client := newChatClient(t)
4385 firstUser := coderdtest.CreateFirstUser(t, client.Client)
4386 modelConfig := createChatModelConfig(t, client)
4387
4388 createdChat, err := client.CreateChat(ctx, codersdk.CreateChatRequest{
4389 OrganizationID: firstUser.OrganizationID,
4390 Content: []codersdk.ChatInputPart{
4391 {
4392 Type: codersdk.ChatInputPartTypeText,
4393 Text: "get chat route payload",
4394 },
4395 },
4396 })
4397 require.NoError(t, err)
4398
4399 chatResult, err := client.GetChat(ctx, createdChat.ID)
4400 require.NoError(t, err)
4401 messagesResult, err := client.GetChatMessages(ctx, createdChat.ID, nil)
4402 require.NoError(t, err)
4403 require.Equal(t, createdChat.ID, chatResult.ID)
4404 require.Equal(t, firstUser.UserID, chatResult.OwnerID)
4405 require.Equal(t, modelConfig.ID, chatResult.LastModelConfigID)
4406 require.Equal(t, "get chat route payload", chatResult.Title)
4407 require.NotZero(t, chatResult.CreatedAt)
4408 require.NotZero(t, chatResult.UpdatedAt)
4409 require.NotEmpty(t, messagesResult.Messages)
4410 require.Empty(t, messagesResult.QueuedMessages)
4411
4412 foundUserMessage := false
4413 for _, message := range messagesResult.Messages {
4414 require.Equal(t, createdChat.ID, message.ChatID)
4415 require.NotEqual(t, codersdk.ChatMessageRoleSystem, message.Role)
4416 for _, part := range message.Content {
4417 if message.Role == codersdk.ChatMessageRoleUser &&
4418 part.Type == codersdk.ChatMessagePartTypeText &&
4419 part.Text == "get chat route payload" {
4420 foundUserMessage = true
4421 }
4422 }
4423 }
4424 require.True(t, foundUserMessage)
4425 })
4426
4427 t.Run("NotFoundForDifferentUser", func(t *testing.T) {
4428 t.Parallel()
4429
4430 ctx := testutil.Context(t, testutil.WaitLong)
4431 client := newChatClient(t)
4432 firstUser := coderdtest.CreateFirstUser(t, client.Client)
4433 _ = createChatModelConfig(t, client)
4434

Callers

nothing calls this directly

Calls 15

GetChatMethod · 0.95
ContextFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
ScopedRoleAgentsAccessFunction · 0.92
NewExperimentalClientFunction · 0.92
AsChatdFunction · 0.92
ChatFunction · 0.92
RefFunction · 0.92
requireSDKErrorFunction · 0.85
GetChatMessagesMethod · 0.80

Tested by

no test coverage detected