From 029f4062f380fd923a6dbb02efdc9dcbb1deea25 Mon Sep 17 00:00:00 2001 From: yomna Date: Sat, 5 Sep 2026 14:16:35 -0400 Subject: [PATCH] fix: clarify custom domain route labels --- .../src/triggers/publish-routes.ts | 4 +- .../tests/publish-routes.test.ts | 66 +++++++++++++++++++ .../src/__tests__/deploy/routes.test.ts | 2 +- 3 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 packages/deploy-helpers/tests/publish-routes.test.ts diff --git a/packages/deploy-helpers/src/triggers/publish-routes.ts b/packages/deploy-helpers/src/triggers/publish-routes.ts index 8910a6f085d..4c4be8ac489 100644 --- a/packages/deploy-helpers/src/triggers/publish-routes.ts +++ b/packages/deploy-helpers/src/triggers/publish-routes.ts @@ -66,7 +66,9 @@ export function renderRoute(route: Route): string { if (isCustomDomain) { const flags: string[] = []; if ("enabled" in route && route.enabled !== undefined) { - flags.push(route.enabled ? "enabled" : "disabled"); + flags.push( + route.enabled ? "production: enabled" : "production: disabled" + ); } if ("previews_enabled" in route && route.previews_enabled !== undefined) { flags.push( diff --git a/packages/deploy-helpers/tests/publish-routes.test.ts b/packages/deploy-helpers/tests/publish-routes.test.ts new file mode 100644 index 00000000000..666630639e6 --- /dev/null +++ b/packages/deploy-helpers/tests/publish-routes.test.ts @@ -0,0 +1,66 @@ +import { describe, it } from "vitest"; +import { renderRoute } from "../src/triggers/publish-routes"; +import type { Route } from "@cloudflare/workers-utils"; + +describe("renderRoute", () => { + it.for([ + { enabled: true, expected: "production: enabled" }, + { enabled: false, expected: "production: disabled" }, + ])( + "renders an explicit production value", + ({ enabled, expected }, { expect }) => { + expect( + renderRoute({ pattern: "example.com", custom_domain: true, enabled }) + ).toBe(`example.com (custom domain) [${expected}]`); + } + ); + + it.for([ + { previews_enabled: true, expected: "previews: enabled" }, + { previews_enabled: false, expected: "previews: disabled" }, + ])( + "renders an explicit Preview value", + ({ previews_enabled, expected }, { expect }) => { + expect( + renderRoute({ + pattern: "example.com", + custom_domain: true, + previews_enabled, + }) + ).toBe(`example.com (custom domain) [${expected}]`); + } + ); + + it("omits unspecified values", ({ expect }) => { + expect(renderRoute({ pattern: "example.com", custom_domain: true })).toBe( + "example.com (custom domain)" + ); + }); + + it("renders production and Preview values together", ({ expect }) => { + expect( + renderRoute({ + pattern: "example.com", + custom_domain: true, + enabled: false, + previews_enabled: true, + }) + ).toBe( + "example.com (custom domain) [production: disabled, previews: enabled]" + ); + }); + + it.for<{ route: Route; expected: string }>([ + { route: "example.com/*", expected: "example.com/*" }, + { + route: { pattern: "example.com/*", zone_id: "zone-id" }, + expected: "example.com/* (zone id: zone-id)", + }, + { + route: { pattern: "example.com/*", zone_name: "example.com" }, + expected: "example.com/* (zone name: example.com)", + }, + ])("preserves non-custom route output", ({ route, expected }, { expect }) => { + expect(renderRoute(route)).toBe(expected); + }); +}); diff --git a/packages/wrangler/src/__tests__/deploy/routes.test.ts b/packages/wrangler/src/__tests__/deploy/routes.test.ts index 91f99cbe735..8fd3db06e60 100644 --- a/packages/wrangler/src/__tests__/deploy/routes.test.ts +++ b/packages/wrangler/src/__tests__/deploy/routes.test.ts @@ -502,7 +502,7 @@ describe("deploy", () => { }); await runWrangler("deploy ./index"); expect(std.out).toContain("api.example.com (custom domain)"); - expect(std.out).toContain("[enabled, previews: enabled]"); + expect(std.out).toContain("[production: enabled, previews: enabled]"); }); it("should confirm override if custom domain deploy would override an existing domain", async ({