FN-6383: add branch canonicalization unit coverage

Expand executor tests around canonical Fusion branch naming behavior.

- Cover standard, lowercase, and case-only variant task IDs.
- Document current prefix behavior for branch-name inputs and malformed edge cases.
- Pin lowercase-only behavior without trimming or slugifying task ID text.

Files changed:
 .../executor-branch-canonicalization.test.ts       | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

Fusion-Task-Id: FN-6383

Fusion-Task-Lineage: cb43e67d-2cb3-4e08-8ea3-eaa7939ae037
This commit is contained in:
gsxdsm
2026-06-13 11:08:56 -07:00
parent 0856d3d3fd
commit 0d882b4350

View File

@@ -6,4 +6,26 @@ describe("executor branch canonicalization", () => {
expect(canonicalFusionBranchName("FN-5083")).toBe("fusion/fn-5083");
expect(canonicalFusionBranchName("Fn-ABC-123")).toBe("fusion/fn-abc-123");
});
it("returns the canonical lowercase branch form for standard and case-only variant task IDs", () => {
expect(canonicalFusionBranchName("FN-6383")).toBe("fusion/fn-6383");
expect(canonicalFusionBranchName("Fn-ABC-123")).toBe("fusion/fn-abc-123");
expect(canonicalFusionBranchName("FUSION-001")).toBe("fusion/fusion-001");
});
it("preserves already-lowercase task ids and documents that callers must not pass branch names", () => {
expect(canonicalFusionBranchName("fn-6383")).toBe("fusion/fn-6383");
expect(canonicalFusionBranchName("fusion/fn-1")).toBe("fusion/fusion/fn-1");
});
it("lowercases arbitrary task-id shapes without slugifying or trimming characters", () => {
expect(canonicalFusionBranchName("TASK_42")).toBe("fusion/task_42");
expect(canonicalFusionBranchName("feature/Foo")).toBe("fusion/feature/foo");
});
it("pins malformed and edge inputs to prefix-plus-lowercase behavior", () => {
expect(canonicalFusionBranchName("")).toBe("fusion/");
expect(canonicalFusionBranchName(" ")).toBe("fusion/ ");
expect(canonicalFusionBranchName("ABC123XYZ")).toBe("fusion/abc123xyz");
});
});