diff --git a/server/src/__tests__/heartbeat-worktree-suppression.test.ts b/server/src/__tests__/heartbeat-worktree-suppression.test.ts index 58daa176c5a..3a3144dcef1 100644 --- a/server/src/__tests__/heartbeat-worktree-suppression.test.ts +++ b/server/src/__tests__/heartbeat-worktree-suppression.test.ts @@ -38,19 +38,23 @@ describeEmbeddedPostgres("heartbeat worktree suppression", () => { let db!: ReturnType; let tempDb: Awaited> | null = null; - function isHeartbeatRunEventFkError(error: unknown) { + function isHeartbeatRunDependentFkError(error: unknown) { const message = error instanceof Error ? `${error.message} ${String(error.cause ?? "")}` : String(error); - return message.includes("heartbeat_run_events_run_id_heartbeat_runs_id_fk"); + return ( + message.includes("heartbeat_run_events_run_id_heartbeat_runs_id_fk") || + message.includes("activity_log_run_id_heartbeat_runs_id_fk") + ); } - async function deleteHeartbeatRunsWithEvents() { + async function deleteHeartbeatRunsWithDependents() { for (let attempt = 0; attempt < 5; attempt += 1) { await db.delete(heartbeatRunEvents); + await db.delete(activityLog); try { await db.delete(heartbeatRuns); return; } catch (error) { - if (!isHeartbeatRunEventFkError(error) || attempt === 4) throw error; + if (!isHeartbeatRunDependentFkError(error) || attempt === 4) throw error; await new Promise((resolve) => setTimeout(resolve, 25)); } } @@ -67,7 +71,7 @@ describeEmbeddedPostgres("heartbeat worktree suppression", () => { await db.delete(documentRevisions); await db.delete(documents); await db.delete(activityLog); - await deleteHeartbeatRunsWithEvents(); + await deleteHeartbeatRunsWithDependents(); await db.delete(agentWakeupRequests); await db.delete(issues); await db.delete(agentRuntimeState);