From e8f2db3a2c93f2247863ce0f54ffb81cce23cece Mon Sep 17 00:00:00 2001 From: Nicky Leach Date: Wed, 8 Jul 2026 16:13:44 +0000 Subject: [PATCH] test(server): align issue workspace environment expectations Co-Authored-By: Paperclip --- server/src/__tests__/issues-service.test.ts | 6 ++++-- server/src/services/execution-workspace-policy.ts | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/server/src/__tests__/issues-service.test.ts b/server/src/__tests__/issues-service.test.ts index 39cd067b09c..927e4d57469 100644 --- a/server/src/__tests__/issues-service.test.ts +++ b/server/src/__tests__/issues-service.test.ts @@ -2737,7 +2737,7 @@ describeEmbeddedPostgres("issueService.create workspace inheritance", () => { }); }); - it("strips legacy environmentId values from execution workspace settings updates", async () => { + it("preserves explicit environmentId values on execution workspace settings updates", async () => { const companyId = randomUUID(); const projectId = randomUUID(); const projectWorkspaceId = randomUUID(); @@ -2804,6 +2804,7 @@ describeEmbeddedPostgres("issueService.create workspace inheritance", () => { }); expect(overridden!.executionWorkspaceSettings).toEqual({ mode: "shared_workspace", + environmentId: operatorEnvironmentId, }); const reassigned = await svc.update(created.id, { @@ -2811,6 +2812,7 @@ describeEmbeddedPostgres("issueService.create workspace inheritance", () => { }); expect(reassigned!.executionWorkspaceSettings).toEqual({ mode: "shared_workspace", + environmentId: operatorEnvironmentId, }); }); @@ -4398,7 +4400,7 @@ describeEmbeddedPostgres("issueService.create workspace inheritance", () => { expect(workspace?.metadata).toEqual({ config: { - environmentId: null, + environmentId: "env-new", provisionCommand: "bash ./scripts/provision-new.sh", teardownCommand: "bash ./scripts/teardown-new.sh", cleanupCommand: null, diff --git a/server/src/services/execution-workspace-policy.ts b/server/src/services/execution-workspace-policy.ts index 5cece4e5292..fdbd9914483 100644 --- a/server/src/services/execution-workspace-policy.ts +++ b/server/src/services/execution-workspace-policy.ts @@ -112,6 +112,9 @@ export function parseIssueExecutionWorkspaceSettings(raw: unknown): IssueExecuti ...(normalizedMode ? { mode: normalizedMode as IssueExecutionWorkspaceSettings["mode"] } : {}), + ...(parsed.environmentId && typeof parsed.environmentId === "string" + ? { environmentId: parsed.environmentId } + : {}), ...(workspaceStrategy ? { workspaceStrategy } : {}), ...(parsed.workspaceRuntime && typeof parsed.workspaceRuntime === "object" && !Array.isArray(parsed.workspaceRuntime) ? { workspaceRuntime: { ...(parsed.workspaceRuntime as Record) } }