From 28b24dc85a9e6cd6b79333c3bf8c2a5b55da5ae8 Mon Sep 17 00:00:00 2001 From: nghequyettien Date: Mon, 27 Jul 2026 21:38:16 +0700 Subject: [PATCH] test(integrations): cover whitespace rejection in parseRepoFullName Closes #9318 --- test/unit/project-tracker-adapter.test.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/unit/project-tracker-adapter.test.ts b/test/unit/project-tracker-adapter.test.ts index a547a1e2c5..4b2e681e61 100644 --- a/test/unit/project-tracker-adapter.test.ts +++ b/test/unit/project-tracker-adapter.test.ts @@ -73,6 +73,9 @@ describe("GitHubMilestonesAdapter (#3183)", () => { const env = createTestEnv({ GITHUB_APP_PRIVATE_KEY: generateRsaPrivateKeyPem() }); await expect(adapter.listOpenMilestones({ env, installationId: 123, repoFullName: "invalid" })).rejects.toThrow(/Invalid repository full name/); await expect(adapter.attachToMilestone({ env, installationId: 123, repoFullName: "owner/repo/extra" }, 4, "14")).rejects.toThrow(/Invalid repository full name/); + for (const padded of ["owner/ repo", "owner /repo"]) { + await expect(adapter.listOpenMilestones({ env, installationId: 123, repoFullName: padded })).rejects.toThrow(/Invalid repository full name/); + } }); it("listOpenMilestones fetches and maps open milestones from the REST API", async () => { @@ -331,6 +334,9 @@ describe("GitHubProjectsAdapter (#3184)", () => { const env = createTestEnv({ GITHUB_APP_PRIVATE_KEY: generateRsaPrivateKeyPem() }); await expect(adapter.listOpenProjects({ env, installationId: 123, repoFullName: "invalid" })).rejects.toThrow(/Invalid repository full name/); await expect(adapter.attachToProject({ env, installationId: 123, repoFullName: "owner/repo/extra" }, 4, "PVT_1")).rejects.toThrow(/Invalid repository full name/); + for (const padded of ["owner/ repo", "owner /repo"]) { + await expect(adapter.listOpenProjects({ env, installationId: 123, repoFullName: padded })).rejects.toThrow(/Invalid repository full name/); + } }); });