diff --git a/src/cli/qr-dashboard.integration.test.ts b/src/cli/qr-dashboard.integration.test.ts index cc340c53b58..50de09d0d2b 100644 --- a/src/cli/qr-dashboard.integration.test.ts +++ b/src/cli/qr-dashboard.integration.test.ts @@ -94,6 +94,20 @@ function decodeSetupCode(setupCode: string): { }; } +function findSetupCodeLogLine(lines: string[]): string | undefined { + for (const line of lines) { + try { + const payload = decodeSetupCode(line); + if (payload.url || payload.bootstrapToken) { + return line; + } + } catch { + // Ignore non-setup-code log lines. + } + } + return undefined; +} + async function runCli(args: string[]): Promise { const program = new Command(); registerQrCli(program); @@ -138,7 +152,8 @@ describe("cli integration: qr + dashboard token SecretRef", () => { }); await runCli(["qr", "--setup-code-only"]); - const setupCode = runtimeLogs.at(-1); + expect(runtime.exit).not.toHaveBeenCalled(); + const setupCode = findSetupCodeLogLine(runtimeLogs); expect(setupCode).toBeTruthy(); const payload = decodeSetupCode(setupCode ?? ""); expect(payload.url).toBe("ws://127.0.0.1:18789");