diff --git a/lib/visualRegressionTracker.spec.ts b/lib/visualRegressionTracker.spec.ts index 58cc60a..7b14c55 100644 --- a/lib/visualRegressionTracker.spec.ts +++ b/lib/visualRegressionTracker.spec.ts @@ -59,7 +59,9 @@ const axiosErrorUnknown: AxiosError = { message: "Unknown error", response: { status: 500, - data: {}, + data: { + some: "data", + }, statusText: "Internal exception", headers: {}, config: {}, @@ -363,12 +365,14 @@ describe("VisualRegressionTracker", () => { [ axiosErrorUnknown.response?.status, axiosErrorUnknown, - axiosErrorUnknown.message, + JSON.stringify(axiosErrorUnknown), ], - [undefined, axiosErrorEmptyResponse, axiosErrorUnknown.message], + [undefined, axiosErrorEmptyResponse, "No response from server"], ])("handleException", (code, error, expectedMessage) => { it(`Error ${code}`, async () => { - await expect(vrt["handleException"](error)).rejects.toThrowError(expectedMessage); + await expect(vrt["handleException"](error)).rejects.toThrowError( + expectedMessage + ); }); }); }); diff --git a/lib/visualRegressionTracker.ts b/lib/visualRegressionTracker.ts index 2a9602c..4988e7e 100644 --- a/lib/visualRegressionTracker.ts +++ b/lib/visualRegressionTracker.ts @@ -73,18 +73,20 @@ export class VisualRegressionTracker { } private async handleException(error: AxiosError) { - const status = error.response?.status; - if (status === 401) { - throw new Error("Unauthorized"); + if (!error.response) { + throw new Error("No response from server"); } - if (status === 403) { - throw new Error("Api key not authenticated"); + const status = error.response.status; + switch (status) { + case 401: + throw new Error("Unauthorized"); + case 403: + throw new Error("Api key not authenticated"); + case 404: + throw new Error("Project not found"); + default: + throw new Error(JSON.stringify(error.response.data, null, "\t")); } - if (status === 404) { - throw new Error("Project not found"); - } - - throw new Error(error.message); } async track(test: TestRun) { diff --git a/package.json b/package.json index e085826..91c66ad 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@visual-regression-tracker/sdk-js", - "version": "4.1.3", + "version": "4.2.0", "description": "", "main": "dist/index.js", "types": "dist/index.d.ts",