diff --git a/src/redux/middlewares/error.middleware.test.ts b/src/redux/middlewares/error.middleware.test.ts index 21bc72d729288a037bb79a274570ee70b0b62721..6c34711b000f25d6642c79fdf7068a4b16f47913 100644 --- a/src/redux/middlewares/error.middleware.test.ts +++ b/src/redux/middlewares/error.middleware.test.ts @@ -1,6 +1,9 @@ import { store } from '@/redux/store'; +import { showToast } from '@/utils/showToast'; import { errorMiddlewareListener } from './error.middleware'; +jest.mock('../../utils/showToast'); + describe('errorMiddlewareListener', () => { const dispatchSpy = jest.spyOn(store, 'dispatch'); @@ -128,4 +131,27 @@ describe('errorMiddlewareListener', () => { }), ); }); + + it('should toast on access denied', async () => { + const action = { + type: 'action/rejected', + payload: null, + meta: { + requestId: '421', + rejectedWithValue: true, + requestStatus: 'rejected', + }, + error: { + code: '403', + }, + }; + const { getState, dispatch } = store; + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-expect-error + await errorMiddlewareListener(action, { getState, dispatch }); + expect(showToast).toHaveBeenCalledWith({ + message: 'Access denied.', + type: 'error', + }); + }); });