UNPKG

@pagopa/dx-cli

Version:

A CLI useful to manage DX tools.

114 lines (113 loc) 3.44 kB
import { describe, expect, it } from "vitest"; import { resourcePrefix } from "../resource-prefix.js"; const createMockPayload = (overrides = {}) => ({ env: { cloudAccounts: [], name: "dev", prefix: "dx", }, workspace: { domain: "", }, ...overrides, }); describe("resourcePrefix", () => { it("should return prefix with env prefix and environment short code when domain is empty", () => { const payload = createMockPayload({ env: { cloudAccounts: [], name: "dev", prefix: "dx", }, workspace: { domain: "", }, }); const result = resourcePrefix(payload); expect(result).toBe("dx-d"); }); it("should return prefix with env prefix, environment short code, and domain when domain is provided", () => { const payload = createMockPayload({ env: { cloudAccounts: [], name: "dev", prefix: "dx", }, workspace: { domain: "api", }, }); const result = resourcePrefix(payload); expect(result).toBe("dx-d-api"); }); it("should handle prod environment with short code 'p'", () => { const payload = createMockPayload({ env: { cloudAccounts: [], name: "prod", prefix: "pgo", }, workspace: { domain: "core", }, }); const result = resourcePrefix(payload); expect(result).toBe("pgo-p-core"); }); it("should handle uat environment with short code 'u'", () => { const payload = createMockPayload({ env: { cloudAccounts: [], name: "uat", prefix: "test", }, workspace: { domain: "web", }, }); const result = resourcePrefix(payload); expect(result).toBe("test-u-web"); }); it("should convert result to lowercase", () => { const payload = createMockPayload({ env: { cloudAccounts: [ { csp: "azure", defaultLocation: "westeurope", displayName: "Test Account", id: "test-account-id", }, ], name: "prod", prefix: "UPPER", }, workspace: { domain: "DOMAIN", }, }); const result = resourcePrefix(payload); expect(result).toBe("upper-p-domain"); }); it("should handle different prefix lengths", () => { const payload = createMockPayload({ env: { cloudAccounts: [ { csp: "azure", defaultLocation: "westeurope", displayName: "Test Account", id: "test-account-id", }, ], name: "dev", prefix: "ab", }, workspace: { domain: "", }, }); const result = resourcePrefix(payload); expect(result).toBe("ab-d"); }); });