(t *testing.T)
| 4375 | } |
| 4376 | |
| 4377 | func 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 |
nothing calls this directly
no test coverage detected