import { ServerErrors } from '../utils/constants'; import { ServerErrorResponse } from './server-error-response'; describe('Test Error Response', () => { const requestError = { serviceException: { ecompRequestId: 'd01d4bca-2afa-4394-97c5-6d1b04409545', messageId: 'SVC4558', text: 'Error: Action is not permitted as your \'%1\' includes non-validated \'%2\' resource.', variables: ['service', 'vf1'] } }; const ng1ErrorResponse = { status: 403, data: { requestError }, statusText: 'Forbidden' }; const ng5ErrorResponse = { status: 403, error: { requestError }, statusText: 'Forbidden' }; const ng5InternalServerError = { status: 500, error: 'Oops, server error has occurred...', statusText: 'Internal Server Error' }; const ng1InternalServerError = { status: 500, data: 'Oops, server error has occurred...', statusText: 'Internal Server Error' }; it('NG1: Verify that server error response is constructed correctly from NG1 structure', () => { const response: ServerErrorResponse = new ServerErrorResponse(ng1ErrorResponse, true); const formatterMessage = 'Action is not permitted as your \'service\' includes non-validated \'vf1\' resource.'; expect(response.ecompRequestId).toEqual(ng1ErrorResponse.data.requestError.serviceException.ecompRequestId); expect(response.message).toEqual(formatterMessage); expect(response.status).toEqual(ng1ErrorResponse.status); expect(response.title).toEqual(ServerErrors.ERROR_TITLE); }); it('NG5: Verify that server error response is constructed correctly from NG5 structure', () => { const response: ServerErrorResponse = new ServerErrorResponse(ng5ErrorResponse); const formatterMessage = 'Action is not permitted as your \'service\' includes non-validated \'vf1\' resource.'; expect(response.ecompRequestId).toEqual(ng5ErrorResponse.error.requestError.serviceException.ecompRequestId); expect(response.message).toEqual(formatterMessage); expect(response.status).toEqual(ng5ErrorResponse.status); expect(response.title).toEqual(ServerErrors.ERROR_TITLE); }); it('NG1: Verify that internal server error produce generic message', () => { const response: ServerErrorResponse = new ServerErrorResponse(ng1InternalServerError, true); expect(response.message).toEqual(ServerErrors.DEFAULT_ERROR); expect(response.status).toEqual(ng5InternalServerError.status); expect(response.title).toEqual(ServerErrors.ERROR_TITLE); }); it('NG5: Verify that internal server error produce generic message', () => { const response: ServerErrorResponse = new ServerErrorResponse(ng5InternalServerError); expect(response.message).toEqual(ServerErrors.DEFAULT_ERROR); expect(response.status).toEqual(ng5InternalServerError.status); expect(response.title).toEqual(ServerErrors.ERROR_TITLE); }); });