(t *testing.T)
| 211 | } |
| 212 | |
| 213 | func TestChatDebugRunSummary(t *testing.T) { |
| 214 | t.Parallel() |
| 215 | |
| 216 | startedAt := time.Now().UTC().Round(time.Second) |
| 217 | finishedAt := startedAt.Add(5 * time.Second) |
| 218 | |
| 219 | run := database.ChatDebugRun{ |
| 220 | ID: uuid.New(), |
| 221 | ChatID: uuid.New(), |
| 222 | Kind: "chat_turn", |
| 223 | Status: "completed", |
| 224 | Provider: sql.NullString{String: "openai", Valid: true}, |
| 225 | Model: sql.NullString{String: "gpt-4o", Valid: true}, |
| 226 | Summary: json.RawMessage(`{"step_count":3,"has_error":false}`), |
| 227 | StartedAt: startedAt, |
| 228 | UpdatedAt: finishedAt, |
| 229 | FinishedAt: sql.NullTime{Time: finishedAt, Valid: true}, |
| 230 | } |
| 231 | |
| 232 | sdk := db2sdk.ChatDebugRunSummary(run) |
| 233 | |
| 234 | require.Equal(t, run.ID, sdk.ID) |
| 235 | require.Equal(t, run.ChatID, sdk.ChatID) |
| 236 | require.Equal(t, codersdk.ChatDebugRunKindChatTurn, sdk.Kind) |
| 237 | require.Equal(t, codersdk.ChatDebugStatusCompleted, sdk.Status) |
| 238 | require.NotNil(t, sdk.Provider) |
| 239 | require.Equal(t, "openai", *sdk.Provider) |
| 240 | require.NotNil(t, sdk.Model) |
| 241 | require.Equal(t, "gpt-4o", *sdk.Model) |
| 242 | require.Equal(t, map[string]any{"step_count": float64(3), "has_error": false}, sdk.Summary) |
| 243 | require.Equal(t, startedAt, sdk.StartedAt) |
| 244 | require.Equal(t, finishedAt, sdk.UpdatedAt) |
| 245 | require.NotNil(t, sdk.FinishedAt) |
| 246 | require.Equal(t, finishedAt, *sdk.FinishedAt) |
| 247 | } |
| 248 | |
| 249 | func TestChatDebugRunSummary_NullableFieldsNil(t *testing.T) { |
| 250 | t.Parallel() |
nothing calls this directly
no test coverage detected