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

Function TestService_UpdateRun

coderd/x/chatd/chatdebug/service_test.go:154–187  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

152}
153
154func TestService_UpdateRun(t *testing.T) {
155 t.Parallel()
156
157 fixture := newFixture(t)
158 run, err := fixture.svc.CreateRun(fixture.ctx, chatdebug.CreateRunParams{
159 ChatID: fixture.chat.ID,
160 Kind: chatdebug.KindChatTurn,
161 Status: chatdebug.StatusInProgress,
162 Summary: map[string]any{
163 "before": true,
164 },
165 })
166 require.NoError(t, err)
167
168 finishedAt := time.Now().UTC().Round(time.Microsecond)
169 updated, err := fixture.svc.UpdateRun(fixture.ctx, chatdebug.UpdateRunParams{
170 ID: run.ID,
171 ChatID: fixture.chat.ID,
172 Status: chatdebug.StatusCompleted,
173 Summary: map[string]any{"after": "done"},
174 FinishedAt: finishedAt,
175 })
176 require.NoError(t, err)
177 require.Equal(t, string(chatdebug.StatusCompleted), updated.Status)
178 require.True(t, updated.FinishedAt.Valid)
179 require.WithinDuration(t, finishedAt, updated.FinishedAt.Time, time.Second)
180 require.JSONEq(t, `{"after":"done"}`, string(updated.Summary))
181
182 stored, err := fixture.db.GetChatDebugRunByID(fixture.ctx, run.ID)
183 require.NoError(t, err)
184 require.Equal(t, string(chatdebug.StatusCompleted), stored.Status)
185 require.JSONEq(t, `{"after":"done"}`, string(stored.Summary))
186 require.True(t, stored.FinishedAt.Valid)
187}
188
189func TestService_UpdateRun_AutoFillsFinishedAtOnTerminalStatus(t *testing.T) {
190 t.Parallel()

Callers

nothing calls this directly

Calls 5

newFixtureFunction · 0.85
CreateRunMethod · 0.80
UpdateRunMethod · 0.80
GetChatDebugRunByIDMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected