From 02a6e785319e44ef9a27ebf6495264dbe6555090 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 20 Apr 2026 19:06:18 +0100 Subject: [PATCH] test: share spawnSync builtin mock --- src/infra/gateway-processes.test.ts | 10 +++------- src/infra/os-summary.test.ts | 10 +++------- src/infra/restart.test.ts | 10 +++------- test/helpers/node-builtin-mocks.ts | 8 ++++++++ 4 files changed, 17 insertions(+), 21 deletions(-) diff --git a/src/infra/gateway-processes.test.ts b/src/infra/gateway-processes.test.ts index cd60a208d1c..8f76e33cb60 100644 --- a/src/infra/gateway-processes.test.ts +++ b/src/infra/gateway-processes.test.ts @@ -8,13 +8,9 @@ const isGatewayArgvMock = vi.hoisted(() => vi.fn()); const findGatewayPidsOnPortSyncMock = vi.hoisted(() => vi.fn()); vi.mock("node:child_process", async () => { - const { mockNodeBuiltinModule } = await import("../../test/helpers/node-builtin-mocks.js"); - return mockNodeBuiltinModule( - () => vi.importActual("node:child_process"), - { - spawnSync: (...args: unknown[]) => spawnSyncMock(...args), - }, - ); + const { mockNodeChildProcessSpawnSync } = + await import("../../test/helpers/node-builtin-mocks.js"); + return mockNodeChildProcessSpawnSync(spawnSyncMock); }); vi.mock("node:fs", async () => { diff --git a/src/infra/os-summary.test.ts b/src/infra/os-summary.test.ts index 33db63acf98..f55b14c3f9b 100644 --- a/src/infra/os-summary.test.ts +++ b/src/infra/os-summary.test.ts @@ -4,13 +4,9 @@ import { afterEach, describe, expect, it, vi } from "vitest"; const spawnSyncMock = vi.hoisted(() => vi.fn()); vi.mock("node:child_process", async () => { - const { mockNodeBuiltinModule } = await import("../../test/helpers/node-builtin-mocks.js"); - return mockNodeBuiltinModule( - () => vi.importActual("node:child_process"), - { - spawnSync: (...args: unknown[]) => spawnSyncMock(...args), - }, - ); + const { mockNodeChildProcessSpawnSync } = + await import("../../test/helpers/node-builtin-mocks.js"); + return mockNodeChildProcessSpawnSync(spawnSyncMock); }); import { resolveOsSummary } from "./os-summary.js"; diff --git a/src/infra/restart.test.ts b/src/infra/restart.test.ts index 91835a363c0..0c05b20f002 100644 --- a/src/infra/restart.test.ts +++ b/src/infra/restart.test.ts @@ -5,13 +5,9 @@ const resolveLsofCommandSyncMock = vi.hoisted(() => vi.fn()); const resolveGatewayPortMock = vi.hoisted(() => vi.fn()); vi.mock("node:child_process", async () => { - const { mockNodeBuiltinModule } = await import("../../test/helpers/node-builtin-mocks.js"); - return mockNodeBuiltinModule( - () => vi.importActual("node:child_process"), - { - spawnSync: (...args: unknown[]) => spawnSyncMock(...args), - }, - ); + const { mockNodeChildProcessSpawnSync } = + await import("../../test/helpers/node-builtin-mocks.js"); + return mockNodeChildProcessSpawnSync(spawnSyncMock); }); vi.mock("./ports-lsof.js", () => ({ diff --git a/test/helpers/node-builtin-mocks.ts b/test/helpers/node-builtin-mocks.ts index 817c918dd9c..b0f457f0ee9 100644 --- a/test/helpers/node-builtin-mocks.ts +++ b/test/helpers/node-builtin-mocks.ts @@ -41,3 +41,11 @@ export async function mockNodeBuiltinModule( }, } as TModule; } + +export async function mockNodeChildProcessSpawnSync( + spawnSync: (...args: unknown[]) => unknown, +): Promise { + return mockNodeBuiltinModule(() => import("node:child_process"), { + spawnSync: (...args: unknown[]) => spawnSync(...args), + } as Partial); +}