From be9d839830a8218bb52ae8a86685daf5e6677b35 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 9 May 2026 23:51:03 +0100 Subject: [PATCH] test: tighten command json assertions --- src/commands/channels.list.test.ts | 15 ++++++++------- src/commands/flows.test.ts | 28 +++++++++------------------- src/commands/tasks-json.test.ts | 26 +++++++++++--------------- 3 files changed, 28 insertions(+), 41 deletions(-) diff --git a/src/commands/channels.list.test.ts b/src/commands/channels.list.test.ts index c3f94784df2..68523dd9962 100644 --- a/src/commands/channels.list.test.ts +++ b/src/commands/channels.list.test.ts @@ -314,9 +314,12 @@ describe("channels list", () => { const payload = JSON.parse(runtime.log.mock.calls[0]?.[0] as string) as { chat: Record; }; - expect(payload.chat.telegram).toMatchObject({ origin: "configured", installed: true }); - expect(payload.chat.discord).toMatchObject({ origin: "available", installed: true }); - expect(payload.chat.qqbot).toMatchObject({ origin: "installable", installed: false }); + expect(payload.chat.telegram?.origin).toBe("configured"); + expect(payload.chat.telegram?.installed).toBe(true); + expect(payload.chat.discord?.origin).toBe("available"); + expect(payload.chat.discord?.installed).toBe(true); + expect(payload.chat.qqbot?.origin).toBe("installable"); + expect(payload.chat.qqbot?.installed).toBe(false); }); it( @@ -355,10 +358,8 @@ describe("channels list", () => { const payload = JSON.parse(runtime.log.mock.calls[0]?.[0] as string) as { chat: Record; }; - expect(payload.chat.wecom).toMatchObject({ - origin: "available", - installed: true, - }); + expect(payload.chat.wecom?.origin).toBe("available"); + expect(payload.chat.wecom?.installed).toBe(true); }, ); }); diff --git a/src/commands/flows.test.ts b/src/commands/flows.test.ts index 0d86c41ea9b..75a0688425d 100644 --- a/src/commands/flows.test.ts +++ b/src/commands/flows.test.ts @@ -98,25 +98,15 @@ describe("flows commands", () => { }>; }; - expect(payload).toMatchObject({ - count: 1, - status: "blocked", - flows: [ - { - flowId: flow.flowId, - taskSummary: { - total: 1, - active: 1, - }, - tasks: [ - { - runId: "run-child-1", - label: "Inspect PR 123", - }, - ], - }, - ], - }); + expect(payload.count).toBe(1); + expect(payload.status).toBe("blocked"); + expect(payload.flows).toHaveLength(1); + expect(payload.flows[0]?.flowId).toBe(flow.flowId); + expect(payload.flows[0]?.taskSummary.total).toBe(1); + expect(payload.flows[0]?.taskSummary.active).toBe(1); + expect(payload.flows[0]?.tasks).toHaveLength(1); + expect(payload.flows[0]?.tasks[0]?.runId).toBe("run-child-1"); + expect(payload.flows[0]?.tasks[0]?.label).toBe("Inspect PR 123"); }); }); diff --git a/src/commands/tasks-json.test.ts b/src/commands/tasks-json.test.ts index 43f1befb0c1..e200085f10c 100644 --- a/src/commands/tasks-json.test.ts +++ b/src/commands/tasks-json.test.ts @@ -82,14 +82,13 @@ describe("tasks JSON commands", () => { status: string | null; tasks: Array<{ runtime: string; status: string; runId: string }>; }; - expect(payload).toMatchObject({ - count: 1, - runtime: "cli", - status: "running", - }); - expect(payload.tasks).toEqual([ - expect.objectContaining({ runtime: "cli", status: "running", runId: "run-cli" }), - ]); + expect(payload.count).toBe(1); + expect(payload.runtime).toBe("cli"); + expect(payload.status).toBe("running"); + expect(payload.tasks).toHaveLength(1); + expect(payload.tasks[0]?.runtime).toBe("cli"); + expect(payload.tasks[0]?.status).toBe("running"); + expect(payload.tasks[0]?.runId).toBe("run-cli"); }); }); @@ -148,13 +147,10 @@ describe("tasks JSON commands", () => { expect(payload.summary.taskFlows.byCode.stale_waiting).toBe(1); expect(payload.summary.taskFlows.byCode.missing_linked_tasks).toBe(2); expect(payload.summary.combined).toEqual({ total: 5, errors: 3, warnings: 2 }); - expect(payload.findings).toEqual([ - expect.objectContaining({ - kind: "task_flow", - code: "stale_running", - token: runningFlow.flowId, - }), - ]); + expect(payload.findings).toHaveLength(1); + expect(payload.findings[0]?.kind).toBe("task_flow"); + expect(payload.findings[0]?.code).toBe("stale_running"); + expect(payload.findings[0]?.token).toBe(runningFlow.flowId); }); }); });