diff --git a/src/browser/profiles-service.test.ts b/src/browser/profiles-service.test.ts index ef599fad82a..3bc05d99194 100644 --- a/src/browser/profiles-service.test.ts +++ b/src/browser/profiles-service.test.ts @@ -61,6 +61,31 @@ describe("BrowserProfilesService", () => { expect(writeConfigFile).toHaveBeenCalled(); }); + it("falls back to derived CDP range when resolved CDP range is missing", async () => { + const base = resolveBrowserConfig({}); + const baseWithoutRange = { ...base } as { + [key: string]: unknown; + cdpPortRangeStart?: unknown; + cdpPortRangeEnd?: unknown; + }; + delete baseWithoutRange.cdpPortRangeStart; + delete baseWithoutRange.cdpPortRangeEnd; + const resolved = { + ...baseWithoutRange, + controlPort: 30000, + } as BrowserServerState["resolved"]; + const { ctx, state } = createCtx(resolved); + + vi.mocked(loadConfig).mockReturnValue({ browser: { profiles: {} } }); + + const service = createBrowserProfilesService(ctx); + const result = await service.createProfile({ name: "work" }); + + expect(result.cdpPort).toBe(30009); + expect(state.resolved.profiles.work?.cdpPort).toBe(30009); + expect(writeConfigFile).toHaveBeenCalled(); + }); + it("accepts per-profile cdpUrl for remote Chrome", async () => { const resolved = resolveBrowserConfig({}); const { ctx } = createCtx(resolved);