From 62bafd4e6e848decbeee6e3d96773434ccf70df8 Mon Sep 17 00:00:00 2001 From: Shakker Date: Fri, 8 May 2026 20:09:21 +0100 Subject: [PATCH] test: tighten systemd status assertions --- src/daemon/systemd.test.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/daemon/systemd.test.ts b/src/daemon/systemd.test.ts index 6e9b0341881..1934025b41b 100644 --- a/src/daemon/systemd.test.ts +++ b/src/daemon/systemd.test.ts @@ -61,6 +61,15 @@ const createWritableStreamMock = () => { }; }; +function requireFirstWrite(write: ReturnType): string { + const value = write.mock.calls[0]?.[0]; + expect(value).toBeDefined(); + if (value === undefined) { + throw new Error("expected systemd status write"); + } + return String(value); +} + function pathLikeToString(pathname: unknown): string { if (typeof pathname === "string") { return pathname; @@ -123,7 +132,7 @@ const assertRestartSuccess = async (env: NodeJS.ProcessEnv) => { const { write, stdout } = createWritableStreamMock(); await restartSystemdService({ stdout, env }); expect(write).toHaveBeenCalledTimes(1); - expect(String(write.mock.calls[0]?.[0])).toContain("Restarted systemd service"); + expect(requireFirstWrite(write)).toContain("Restarted systemd service"); }; describe("systemd availability", () => { @@ -1188,7 +1197,7 @@ describe("systemd service install and uninstall", () => { await uninstallSystemdService({ env, stdout }); await expect(fs.access(unitPath)).rejects.toMatchObject({ code: "ENOENT" }); - expect(String(write.mock.calls[0]?.[0])).toContain("Removed systemd service"); + expect(requireFirstWrite(write)).toContain("Removed systemd service"); expect(execFileMock).toHaveBeenCalledTimes(2); }); }); @@ -1216,7 +1225,7 @@ describe("systemd service control", () => { await stopSystemdService({ stdout, env: {} }); expect(write).toHaveBeenCalledTimes(1); - expect(String(write.mock.calls[0]?.[0])).toContain("Stopped systemd service"); + expect(requireFirstWrite(write)).toContain("Stopped systemd service"); }); it("allows stop when systemd status is degraded but available", async () => {