Skip to content

Commit 863b695

Browse files
committed
BN-44 | Fix. Show Business Errors When Axios Fails
1 parent a3d1f06 commit 863b695

File tree

2 files changed

+6
-32
lines changed

2 files changed

+6
-32
lines changed

src/utils/__tests__/common.test.ts

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import axios, { AxiosError } from 'axios';
33

44
jest.mock('axios', () => ({
55
isAxiosError: jest.fn(),
6+
get: jest.fn(),
67
}));
78

89
const mockedAxios = axios as jest.Mocked<typeof axios>;
@@ -345,34 +346,7 @@ describe('common utility functions', () => {
345346

346347
it('should handle generic Error objects', () => {
347348
const error = new Error('Something went wrong');
348-
error.name = 'ValidationError';
349-
350-
mockedAxios.isAxiosError.mockReturnValue(false);
351-
352-
const result = getFormattedError(error);
353-
354-
expect(result).toEqual({
355-
title: 'ValidationError',
356-
message: 'Something went wrong',
357-
});
358-
});
359-
360-
it('should return error object input', () => {
361-
const result = getFormattedError({
362-
message: 'An unknown error',
363-
});
364-
expect(result).toEqual({
365-
title: 'Error',
366-
message: 'An unknown error occurred',
367-
});
368-
});
369-
370-
it('should handle generic Error objects without name', () => {
371-
const error = new Error('Something went wrong');
372-
error.name = undefined; // Set name to undefined for this test
373-
374-
mockedAxios.isAxiosError.mockReturnValue(false);
375-
349+
mockedAxios.get.mockRejectedValue(error);
376350
const result = getFormattedError(error);
377351

378352
expect(result).toEqual({

src/utils/common.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,11 @@ export const getFormattedError = (
1919

2020
if (typeof error === 'string') {
2121
message = error;
22-
} else if (error instanceof Error) {
23-
title = error.name || 'Error';
24-
message = error.message;
2522
} else if (axios.isAxiosError(error)) {
2623
const axiosError = error as AxiosError;
2724

2825
if (axiosError?.response) {
2926
const status = axiosError.response.status;
30-
3127
switch (status) {
3228
case 400:
3329
title = 'Bad Request';
@@ -60,11 +56,15 @@ export const getFormattedError = (
6056
'Error processing your request';
6157
}
6258
}
59+
} else if (error instanceof Error) {
60+
message = error.message;
6361
} else {
6462
title = 'Network Error';
6563
message =
6664
'Unable to connect to the server. Please check your internet connection.';
6765
}
66+
} else if (error instanceof Error) {
67+
message = error.message;
6868
} else {
6969
message = 'An unknown error occurred';
7070
}

0 commit comments

Comments
 (0)