From e1350ff9765c5aa9c1ed1a15a6ee244357c6423a Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 16 Feb 2026 00:26:43 +0000 Subject: [PATCH] perf(test): fold imessage rpc client guard into targets suite --- src/imessage/client.test.ts | 22 ---------------------- src/imessage/targets.test.ts | 23 ++++++++++++++++++++++- 2 files changed, 22 insertions(+), 23 deletions(-) delete mode 100644 src/imessage/client.test.ts diff --git a/src/imessage/client.test.ts b/src/imessage/client.test.ts deleted file mode 100644 index b755b060e37..00000000000 --- a/src/imessage/client.test.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { beforeEach, describe, expect, it, vi } from "vitest"; - -const spawnMock = vi.hoisted(() => vi.fn()); - -vi.mock("node:child_process", () => ({ - spawn: (...args: unknown[]) => spawnMock(...args), -})); - -describe("createIMessageRpcClient", () => { - beforeEach(() => { - spawnMock.mockReset(); - vi.stubEnv("VITEST", "true"); - }); - - it("refuses to spawn imsg rpc in test environments", async () => { - const { createIMessageRpcClient } = await import("./client.js"); - await expect(createIMessageRpcClient()).rejects.toThrow( - /Refusing to start imsg rpc in test environment/i, - ); - expect(spawnMock).not.toHaveBeenCalled(); - }); -}); diff --git a/src/imessage/targets.test.ts b/src/imessage/targets.test.ts index 3a011821526..217b0ea6732 100644 --- a/src/imessage/targets.test.ts +++ b/src/imessage/targets.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from "vitest"; +import { beforeEach, describe, expect, it, vi } from "vitest"; import { formatIMessageChatTarget, isAllowedIMessageSender, @@ -6,6 +6,12 @@ import { parseIMessageTarget, } from "./targets.js"; +const spawnMock = vi.hoisted(() => vi.fn()); + +vi.mock("node:child_process", () => ({ + spawn: (...args: unknown[]) => spawnMock(...args), +})); + describe("imessage targets", () => { it("parses chat_id targets", () => { const target = parseIMessageTarget("chat_id:123"); @@ -70,3 +76,18 @@ describe("imessage targets", () => { expect(formatIMessageChatTarget(undefined)).toBe(""); }); }); + +describe("createIMessageRpcClient", () => { + beforeEach(() => { + spawnMock.mockReset(); + vi.stubEnv("VITEST", "true"); + }); + + it("refuses to spawn imsg rpc in test environments", async () => { + const { createIMessageRpcClient } = await import("./client.js"); + await expect(createIMessageRpcClient()).rejects.toThrow( + /Refusing to start imsg rpc in test environment/i, + ); + expect(spawnMock).not.toHaveBeenCalled(); + }); +});