From e8b3d7ba7dceb15aa20295fc61eeda689e030dd9 Mon Sep 17 00:00:00 2001 From: Mauricio Siu Date: Fri, 8 May 2026 19:26:34 -0600 Subject: [PATCH] test(templates): add unit tests for isolated deployment config field --- .../templates/config.template.test.ts | 45 +++++++++++++++++++ packages/server/src/templates/processors.ts | 1 + 2 files changed, 46 insertions(+) diff --git a/apps/dokploy/__test__/templates/config.template.test.ts b/apps/dokploy/__test__/templates/config.template.test.ts index 202abdf2d..52be798d7 100644 --- a/apps/dokploy/__test__/templates/config.template.test.ts +++ b/apps/dokploy/__test__/templates/config.template.test.ts @@ -494,4 +494,49 @@ describe("processTemplate", () => { expect(result.mounts).toHaveLength(1); }); }); + + describe("isolated deployment config", () => { + it("should default to isolated=true when not specified", () => { + const template: CompleteTemplate = { + metadata: {} as any, + variables: {}, + config: { + domains: [], + env: {}, + }, + }; + + expect(template.config.isolated).toBeUndefined(); + // undefined !== false => isolatedDeployment = true + expect(template.config.isolated !== false).toBe(true); + }); + + it("should be isolated when isolated=true is explicitly set", () => { + const template: CompleteTemplate = { + metadata: {} as any, + variables: {}, + config: { + isolated: true, + domains: [], + env: {}, + }, + }; + + expect(template.config.isolated !== false).toBe(true); + }); + + it("should disable isolated deployment when isolated=false", () => { + const template: CompleteTemplate = { + metadata: {} as any, + variables: {}, + config: { + isolated: false, + domains: [], + env: {}, + }, + }; + + expect(template.config.isolated !== false).toBe(false); + }); + }); }); diff --git a/packages/server/src/templates/processors.ts b/packages/server/src/templates/processors.ts index ce1553095..bd170e104 100644 --- a/packages/server/src/templates/processors.ts +++ b/packages/server/src/templates/processors.ts @@ -45,6 +45,7 @@ export interface CompleteTemplate { }; variables: Record; config: { + isolated?: boolean; domains: DomainConfig[]; env: | Record