Skip to content
Snippets Groups Projects
Commit 4a3f645f authored by Piotr Gawron's avatar Piotr Gawron
Browse files

provide error with stacktrace

parent 471c0e79
No related branches found
No related tags found
2 merge requests!223reset the pin numbers before search results are fetch (so the results will be...,!199Resolve "[MIN-321] form for reporting errors in minerva"
......@@ -4,6 +4,7 @@ import {
createStoreInstanceUsingSliceReducer,
} from '@/utils/createStoreInstanceUsingSliceReducer';
import { HttpStatusCode } from 'axios';
import { unwrapResult } from '@reduxjs/toolkit';
import { ExportState } from './export.types';
import exportReducer from './export.slice';
import { apiPath } from '../apiPath';
......@@ -76,7 +77,7 @@ describe('export reducer', () => {
mockedAxiosClient
.onPost(apiPath.downloadNetworkCsv())
.reply(HttpStatusCode.NotFound, undefined);
const { payload, type } = await store.dispatch(
const action = await store.dispatch(
downloadNetwork({
annotations: [],
columns: [],
......@@ -85,8 +86,8 @@ describe('export reducer', () => {
submaps: [],
}),
);
expect(type).toBe('export/downloadNetwork/rejected');
expect(payload).toBe(
expect(action.type).toBe('export/downloadNetwork/rejected');
expect(() => unwrapResult(action)).toThrow(
"Failed to download network: The page you're looking for doesn't exist. Please verify the URL and try again.",
);
const { loading } = store.getState().export.downloadNetwork;
......@@ -135,7 +136,7 @@ describe('export reducer', () => {
mockedAxiosClient
.onPost(apiPath.downloadElementsCsv())
.reply(HttpStatusCode.NotFound, undefined);
const { payload } = await store.dispatch(
const action = await store.dispatch(
downloadElements({
annotations: [],
columns: [],
......@@ -147,7 +148,7 @@ describe('export reducer', () => {
const { loading } = store.getState().export.downloadElements;
expect(loading).toEqual('failed');
expect(payload).toEqual(
expect(() => unwrapResult(action)).toThrow(
"Failed to download elements: The page you're looking for doesn't exist. Please verify the URL and try again.",
);
});
......
......@@ -5,8 +5,8 @@ import { PROJECT_ID } from '@/constants';
import { ExportNetwork, ExportElements } from '@/types/models';
import { validateDataUsingZodSchema } from '@/utils/validateDataUsingZodSchema';
import { exportNetworkchema, exportElementsSchema } from '@/models/exportSchema';
import { getErrorMessage } from '@/utils/getErrorMessage';
import { ThunkConfig } from '@/types/store';
import { getError } from '@/utils/error-report/getError';
import { apiPath } from '../apiPath';
import { downloadFileFromBlob } from './export.utils';
import { ELEMENTS_DOWNLOAD_ERROR_PREFIX, NETWORK_DOWNLOAD_ERROR_PREFIX } from './export.constants';
......@@ -24,7 +24,7 @@ export const downloadElements = createAsyncThunk<
DownloadElementsBodyRequest,
ThunkConfig
// eslint-disable-next-line consistent-return
>('export/downloadElements', async (data, { rejectWithValue }) => {
>('export/downloadElements', async data => {
try {
const response = await axiosInstanceNewAPI.post<ExportElements>(
apiPath.downloadElementsCsv(),
......@@ -40,9 +40,7 @@ export const downloadElements = createAsyncThunk<
downloadFileFromBlob(response.data, `${PROJECT_ID}-elementExport.csv`);
}
} catch (error) {
const errorMessage = getErrorMessage({ error, prefix: ELEMENTS_DOWNLOAD_ERROR_PREFIX });
return rejectWithValue(errorMessage);
return Promise.reject(getError({ error, prefix: ELEMENTS_DOWNLOAD_ERROR_PREFIX }));
}
});
......@@ -57,7 +55,7 @@ type DownloadNetworkBodyRequest = {
export const downloadNetwork = createAsyncThunk<undefined, DownloadNetworkBodyRequest, ThunkConfig>(
'export/downloadNetwork',
// eslint-disable-next-line consistent-return
async (data, { rejectWithValue }) => {
async data => {
try {
const response = await axiosInstanceNewAPI.post<ExportNetwork>(
apiPath.downloadNetworkCsv(),
......@@ -73,9 +71,7 @@ export const downloadNetwork = createAsyncThunk<undefined, DownloadNetworkBodyRe
downloadFileFromBlob(response.data, `${PROJECT_ID}-networkExport.csv`);
}
} catch (error) {
const errorMessage = getErrorMessage({ error, prefix: NETWORK_DOWNLOAD_ERROR_PREFIX });
return rejectWithValue(errorMessage);
return Promise.reject(getError({ error, prefix: NETWORK_DOWNLOAD_ERROR_PREFIX }));
}
},
);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment