From dbfeab2ff9d4e7b5eaf7d155b1c4cdd630928753 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Fri, 9 Feb 2024 02:51:40 -0500 Subject: [PATCH] feat: add documentation link in error message (#667) --- src/fetch-wrapper.ts | 13 +++++++++++-- test/request.test.ts | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/fetch-wrapper.ts b/src/fetch-wrapper.ts index 5c1caf83b..bf65ba426 100644 --- a/src/fetch-wrapper.ts +++ b/src/fetch-wrapper.ts @@ -176,13 +176,22 @@ async function getResponseData(response: Response) { function toErrorMessage(data: any) { if (typeof data === "string") return data; + let suffix: string; + + // istanbul ignore else - just in case + if ("documentation_url" in data) { + suffix = ` - ${data.documentation_url}`; + } else { + suffix = ""; + } + // istanbul ignore else - just in case if ("message" in data) { if (Array.isArray(data.errors)) { - return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`; + return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}${suffix}`; } - return data.message; + return `${data.message}${suffix}`; } // istanbul ignore next - just in case diff --git a/test/request.test.ts b/test/request.test.ts index e5456c559..294480e0b 100644 --- a/test/request.test.ts +++ b/test/request.test.ts @@ -809,7 +809,7 @@ x//0u+zd/R/QRUzLOw4N72/Hu+UG6MNt5iDZFCtapRaKt6OvSBwy8w== .catch((error) => { expect(error).toHaveProperty( "message", - `Validation failed: "Only organization repositories can have users and team restrictions", {"resource":"Search","field":"q","code":"invalid"}`, + `Validation failed: "Only organization repositories can have users and team restrictions", {"resource":"Search","field":"q","code":"invalid"} - https://developer.github.com/v3/repos/branches/#update-branch-protection`, ); }); });