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

Function TestService_AggregateRunSummary

coderd/x/chatd/chatdebug/summary_test.go:127–451  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

125}
126
127func TestService_AggregateRunSummary(t *testing.T) {
128 t.Parallel()
129
130 t.Run("NilRunID", func(t *testing.T) {
131 t.Parallel()
132 fixture := newFixture(t)
133 got, err := fixture.svc.AggregateRunSummary(fixture.ctx, uuid.Nil, nil)
134 require.NoError(t, err)
135 require.Nil(t, got)
136 })
137
138 t.Run("ZeroSteps", func(t *testing.T) {
139 t.Parallel()
140 fixture := newFixture(t)
141 run := createRun(t, fixture)
142
143 // No steps created. Call with a base summary containing
144 // first_message so we can verify it is preserved.
145 base := map[string]any{"first_message": "hello world"}
146 got, err := fixture.svc.AggregateRunSummary(fixture.ctx, run.ID, base)
147 require.NoError(t, err)
148 require.Equal(t, "hello world", got["first_message"])
149 require.EqualValues(t, 0, got["step_count"])
150 require.EqualValues(t, int64(0), got["total_input_tokens"])
151 require.EqualValues(t, int64(0), got["total_output_tokens"])
152 require.NotContains(t, got, "total_reasoning_tokens")
153 require.NotContains(t, got, "total_cache_creation_tokens")
154 require.NotContains(t, got, "total_cache_read_tokens")
155 require.NotContains(t, got, "has_error")
156 require.NotContains(t, got, "endpoint_label")
157 })
158
159 t.Run("NilBaseSummary", func(t *testing.T) {
160 t.Parallel()
161 fixture := newFixture(t)
162 run := createRun(t, fixture)
163
164 // Create a step with usage.
165 step := createTestStep(t, fixture, run.ID)
166 updateTestStepWithUsage(t, fixture, step.ID, 10, 5, 0, 0)
167
168 got, err := fixture.svc.AggregateRunSummary(fixture.ctx, run.ID, nil)
169 require.NoError(t, err)
170 require.NotNil(t, got)
171 require.EqualValues(t, 1, got["step_count"])
172 require.EqualValues(t, int64(10), got["total_input_tokens"])
173 require.EqualValues(t, int64(5), got["total_output_tokens"])
174 })
175
176 t.Run("PreservesFirstMessage", func(t *testing.T) {
177 t.Parallel()
178 fixture := newFixture(t)
179 run := createRun(t, fixture)
180
181 step := createTestStep(t, fixture, run.ID)
182 updateTestStepWithUsage(t, fixture, step.ID, 20, 10, 0, 0)
183
184 base := map[string]any{"first_message": "hello world"}

Callers

nothing calls this directly

Calls 11

newFixtureFunction · 0.85
createRunFunction · 0.85
createTestStepFunction · 0.85
updateTestStepWithUsageFunction · 0.85
createTestStepNFunction · 0.85
AggregateRunSummaryMethod · 0.80
UpdateStepMethod · 0.80
RunMethod · 0.65
UpdateChatDebugStepMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected