File size: 938 Bytes
eb3f11e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | /**
* Tests child_process behavior in the shared Node builtin mock helpers.
*/
import { describe, expect, it, vi } from "vitest";
const spawnSyncMock = vi.hoisted(() => vi.fn());
vi.mock("node:child_process", async () => {
const { mockNodeChildProcessSpawnSync } = await import("./node-builtin-mocks.js");
return mockNodeChildProcessSpawnSync(spawnSyncMock);
});
const childProcess = await import("node:child_process");
describe("mockNodeChildProcessSpawnSync", () => {
it("can build a child_process mock from inside its own Vitest mock factory", () => {
spawnSyncMock.mockReturnValue({ status: 0, stdout: "ok" });
expect(childProcess.spawnSync("node", ["--version"])).toEqual({ status: 0, stdout: "ok" });
expect(spawnSyncMock).toHaveBeenCalledWith("node", ["--version"]);
});
it("preserves untargeted child_process exports", () => {
expect(typeof childProcess.execFileSync).toBe("function");
});
});
|