From 9a1f815d3c48468de89670ff6f3ed6478f27d838 Mon Sep 17 00:00:00 2001 From: Dione Bastos Date: Tue, 20 Oct 2026 10:45:06 -0300 Subject: [PATCH] test(cli): cover zk build --network target resolution Port the remaining useful cases from #252: an explicit `--network mainnet` is allowed with `--allow-dev-ceremony`, and omitting `--network` resolves to defaultNetwork. The blocked-mainnet and unknown-network cases from #252 were already covered on main. Co-authored-by: AugistineCreates Co-Authored-By: Claude Opus 5.5 --- .../cli/src/commands/zk-build.command.test.ts | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/packages/cli/src/commands/zk-build.command.test.ts b/packages/cli/src/commands/zk-build.command.test.ts index 493e44f..3a99120 100644 --- a/packages/cli/src/commands/zk-build.command.test.ts +++ b/packages/cli/src/commands/zk-build.command.test.ts @@ -193,6 +193,43 @@ describe("zk build command", () => { expect(buildCircuitMock).toHaveBeenCalled(); }); + it("allows --network mainnet with --allow-dev-ceremony", async () => { + const program = new Command(); + program.exitOverride(); + registerZkBuildCommand(program); + + await program.parseAsync([ + "node", + "caatinga", + "zk", + "build", + "main", + "--network", + "mainnet", + "--allow-dev-ceremony", + ]); + + expect(buildCircuitMock).toHaveBeenCalled(); + }); + + it("falls back to defaultNetwork when --network is omitted", async () => { + const logSpy = vi.spyOn(console, "log").mockImplementation(() => {}); + + try { + const program = new Command(); + program.exitOverride(); + registerZkBuildCommand(program); + + await program.parseAsync(["node", "caatinga", "zk", "build", "main"]); + + const output = logSpy.mock.calls.map((call) => String(call[0])).join("\n"); + expect(output).toContain("Network: testnet (config)"); + expect(buildCircuitMock).toHaveBeenCalled(); + } finally { + logSpy.mockRestore(); + } + }); + it("warns when --embed-vk is passed", async () => { const warnSpy = vi.spyOn(console, "warn").mockImplementation(() => {});