From 2fd57cec0b9060e2b8c21b7f21b566b1551211b1 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 22 Feb 2026 00:28:12 +0000 Subject: [PATCH] test(commands): trim dashboard setup resets and dedupe bind cases --- src/commands/dashboard.e2e.test.ts | 14 ++++++------ src/commands/dashboard.test.ts | 34 +++++++++++------------------- 2 files changed, 19 insertions(+), 29 deletions(-) diff --git a/src/commands/dashboard.e2e.test.ts b/src/commands/dashboard.e2e.test.ts index cde3b5271ff..224fa9e4209 100644 --- a/src/commands/dashboard.e2e.test.ts +++ b/src/commands/dashboard.e2e.test.ts @@ -58,13 +58,13 @@ function mockSnapshot(token = "abc") { describe("dashboardCommand", () => { beforeEach(() => { resetRuntime(); - readConfigFileSnapshotMock.mockReset(); - resolveGatewayPortMock.mockReset(); - resolveControlUiLinksMock.mockReset(); - detectBrowserOpenSupportMock.mockReset(); - openUrlMock.mockReset(); - formatControlUiSshHintMock.mockReset(); - copyToClipboardMock.mockReset(); + readConfigFileSnapshotMock.mockClear(); + resolveGatewayPortMock.mockClear(); + resolveControlUiLinksMock.mockClear(); + detectBrowserOpenSupportMock.mockClear(); + openUrlMock.mockClear(); + formatControlUiSshHintMock.mockClear(); + copyToClipboardMock.mockClear(); }); it("opens and copies the dashboard link by default", async () => { diff --git a/src/commands/dashboard.test.ts b/src/commands/dashboard.test.ts index 3719d95cdae..e5c1852ccd0 100644 --- a/src/commands/dashboard.test.ts +++ b/src/commands/dashboard.test.ts @@ -63,30 +63,20 @@ function mockSnapshot(params?: { describe("dashboardCommand bind selection", () => { beforeEach(() => { - mocks.readConfigFileSnapshot.mockReset(); - mocks.resolveGatewayPort.mockReset(); - mocks.resolveControlUiLinks.mockReset(); - mocks.copyToClipboard.mockReset(); - runtime.log.mockReset(); - runtime.error.mockReset(); - runtime.exit.mockReset(); + mocks.readConfigFileSnapshot.mockClear(); + mocks.resolveGatewayPort.mockClear(); + mocks.resolveControlUiLinks.mockClear(); + mocks.copyToClipboard.mockClear(); + runtime.log.mockClear(); + runtime.error.mockClear(); + runtime.exit.mockClear(); }); - it("maps lan bind to loopback for dashboard URLs", async () => { - mockSnapshot({ bind: "lan" }); - - await dashboardCommand(runtime, { noOpen: true }); - - expect(mocks.resolveControlUiLinks).toHaveBeenCalledWith({ - port: 18789, - bind: "loopback", - customBindHost: undefined, - basePath: undefined, - }); - }); - - it("defaults to loopback when bind is unset", async () => { - mockSnapshot(); + it.each([ + { label: "maps lan bind to loopback", snapshot: { bind: "lan" as const } }, + { label: "defaults unset bind to loopback", snapshot: undefined }, + ])("$label for dashboard URLs", async ({ snapshot }) => { + mockSnapshot(snapshot); await dashboardCommand(runtime, { noOpen: true });