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

Function TestGetChatsByWorkspace

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

Source from the content-addressed store, hash-verified

13636}
13637
13638func TestGetChatsByWorkspace(t *testing.T) {
13639 t.Parallel()
13640
13641 client, db := newChatClientWithDatabase(t)
13642 user := coderdtest.CreateFirstUser(t, client.Client)
13643 modelConfig := createChatModelConfig(t, client)
13644
13645 // Helper to create a workspace owned by the test user.
13646 newWorkspace := func() dbfake.WorkspaceBuildBuilder {
13647 return dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
13648 OrganizationID: user.OrganizationID,
13649 OwnerID: user.UserID,
13650 }).WithAgent()
13651 }
13652
13653 // Helper to insert a chat linked to a workspace.
13654 insertChat := func(ctx context.Context, title string, workspaceID uuid.UUID) database.Chat {
13655 chat := dbgen.Chat(t, db, database.Chat{
13656 OrganizationID: user.OrganizationID,
13657 OwnerID: user.UserID,
13658 LastModelConfigID: modelConfig.ID,
13659 Title: title,
13660 WorkspaceID: uuid.NullUUID{UUID: workspaceID, Valid: true},
13661 })
13662 return chat
13663 }
13664
13665 t.Run("EmptyRequestReturnsEmptyMap", func(t *testing.T) {
13666 t.Parallel()
13667 ctx := testutil.Context(t, testutil.WaitLong)
13668 result, err := client.GetChatsByWorkspace(ctx, []uuid.UUID{})
13669 require.NoError(t, err)
13670 require.Empty(t, result)
13671 })
13672
13673 t.Run("WorkspaceWithNoChatsOmitted", func(t *testing.T) {
13674 t.Parallel()
13675 ctx := testutil.Context(t, testutil.WaitLong)
13676 ws := newWorkspace().Do()
13677
13678 result, err := client.GetChatsByWorkspace(ctx, []uuid.UUID{ws.Workspace.ID})
13679 require.NoError(t, err)
13680 require.Empty(t, result)
13681 })
13682
13683 t.Run("ReturnsChatLinkedToWorkspace", func(t *testing.T) {
13684 t.Parallel()
13685 ctx := testutil.Context(t, testutil.WaitLong)
13686 ws := newWorkspace().Do()
13687 chat := insertChat(ctx, "workspace chat", ws.Workspace.ID)
13688
13689 result, err := client.GetChatsByWorkspace(ctx, []uuid.UUID{ws.Workspace.ID})
13690 require.NoError(t, err)
13691 require.Len(t, result, 1)
13692 require.Equal(t, chat.ID, result[ws.Workspace.ID])
13693 })
13694
13695 t.Run("ArchivedChatsExcluded", func(t *testing.T) {

Callers

nothing calls this directly

Calls 15

CreateFirstUserFunction · 0.92
WorkspaceBuildFunction · 0.92
ChatFunction · 0.92
ContextFunction · 0.92
RefFunction · 0.92
insertChatFunction · 0.85
requireSDKErrorFunction · 0.85
WithAgentMethod · 0.80
GetChatsByWorkspaceMethod · 0.80
createChatModelConfigFunction · 0.70
RunMethod · 0.65

Tested by

no test coverage detected