MCPcopy Create free account
hub / github.com/coder/coder / TestShouldActivateChainMode

Function TestShouldActivateChainMode

coderd/x/chatd/chatopenai/responses_test.go:92–214  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

90}
91
92func TestShouldActivateChainMode(t *testing.T) {
93 t.Parallel()
94
95 modelConfigID := uuid.New()
96 baseInfo := chatopenai.ResolveChainMode([]database.ChatMessage{
97 chainModeSystemMessage(),
98 chainModeUserMessage("prior user message"),
99 chainModeAssistantMessage(modelConfigID, nil),
100 chainModeUserMessage("latest user message"),
101 })
102
103 localCall := codersdk.ChatMessageToolCall(
104 "call-local",
105 "read_file",
106 json.RawMessage(`{"path":"main.go"}`),
107 )
108 unresolvedLocalInfo := chatopenai.ResolveChainMode([]database.ChatMessage{
109 chainModeSystemMessage(),
110 chainModeUserMessage("prior user message"),
111 chainModeAssistantMessage(modelConfigID, []codersdk.ChatMessagePart{localCall}),
112 chainModeUserMessage("latest user message"),
113 })
114 localResult := codersdk.ChatMessageToolResult(
115 "call-local",
116 "read_file",
117 json.RawMessage(`{"ok":true}`),
118 false,
119 false,
120 )
121 missingToolResultsInfo := chatopenai.ResolveChainMode([]database.ChatMessage{
122 chainModeSystemMessage(),
123 chainModeUserMessage("prior user message"),
124 chainModeAssistantMessage(modelConfigID, []codersdk.ChatMessagePart{localCall}),
125 chainModeToolMessage([]codersdk.ChatMessagePart{localResult}),
126 chainModeUserMessage("latest user message"),
127 })
128 skillOnlyInfo := chatopenai.ResolveChainMode([]database.ChatMessage{
129 chainModeSystemMessage(),
130 chainModeUserMessage("prior user message"),
131 chainModeAssistantMessage(modelConfigID, nil),
132 chainModeSkillOnlyUserMessage(),
133 })
134 missingResponseInfo := chatopenai.ResolveChainMode([]database.ChatMessage{
135 chainModeSystemMessage(),
136 chainModeUserMessage("prior user message"),
137 chainModeAssistantMessageWithoutResponse(modelConfigID),
138 chainModeUserMessage("latest user message"),
139 })
140
141 tests := []struct {
142 name string
143 providerOpts fantasy.ProviderOptions
144 info chatopenai.ChainModeInfo
145 modelConfigID uuid.UUID
146 isPlanModeTurn bool
147 want bool
148 }{
149 {

Callers

nothing calls this directly

Calls 14

ResolveChainModeFunction · 0.92
ChatMessageToolCallFunction · 0.92
ChatMessageToolResultFunction · 0.92
ShouldActivateChainModeFunction · 0.92
chainModeSystemMessageFunction · 0.85
chainModeUserMessageFunction · 0.85
chainModeToolMessageFunction · 0.85
chainModeProviderOptionsFunction · 0.70
NewMethod · 0.65

Tested by

no test coverage detected