diff --git a/frontend/src/test/httpUtil.test.ts b/frontend/src/test/httpUtil.test.ts index d5e7b1643..87ceace7e 100644 --- a/frontend/src/test/httpUtil.test.ts +++ b/frontend/src/test/httpUtil.test.ts @@ -73,8 +73,8 @@ describe('HttpUtil', () => { expect(toast.error).not.toHaveBeenCalled(); }); - it('maps a thrown HttpError to a failure Msg via response.data.message', async () => { - mockRequest.mockRejectedValue(new HttpError(400, 'Bad Request', { message: 'bad input' })); + it('surfaces the backend error text from a thrown HttpError body (msg field)', async () => { + mockRequest.mockRejectedValue(new HttpError(400, 'Bad Request', { success: false, msg: 'bad input' })); const msg = await HttpUtil.post('/x', undefined, { silent: true }); diff --git a/frontend/src/utils/index.ts b/frontend/src/utils/index.ts index 845c3e109..566c169f9 100644 --- a/frontend/src/utils/index.ts +++ b/frontend/src/utils/index.ts @@ -76,8 +76,9 @@ export class HttpUtil { return msg; } catch (error) { console.error('GET request failed:', error); - const err = error as { response?: { data?: { message?: string } }; message?: string }; - const errorMsg = new Msg(false, err.response?.data?.message || err.message || 'Request failed'); + const err = error as { response?: { data?: { msg?: string; message?: string } }; message?: string }; + const data = err.response?.data; + const errorMsg = new Msg(false, data?.msg || data?.message || err.message || 'Request failed'); if (!silent) this._handleMsg(errorMsg); return errorMsg; } @@ -92,8 +93,9 @@ export class HttpUtil { return msg; } catch (error) { console.error('POST request failed:', error); - const err = error as { response?: { data?: { message?: string } }; message?: string }; - const errorMsg = new Msg(false, err.response?.data?.message || err.message || 'Request failed'); + const err = error as { response?: { data?: { msg?: string; message?: string } }; message?: string }; + const data = err.response?.data; + const errorMsg = new Msg(false, data?.msg || data?.message || err.message || 'Request failed'); if (!silent) this._handleMsg(errorMsg); return errorMsg; }