From 7f521d27811b472c43203ed3d1bde4460a617f89 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 21 Mar 2023 12:08:46 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- spec/frontend/lib/utils/error_message_spec.js | 102 ++++++++++---------------- 1 file changed, 40 insertions(+), 62 deletions(-) (limited to 'spec/frontend/lib') diff --git a/spec/frontend/lib/utils/error_message_spec.js b/spec/frontend/lib/utils/error_message_spec.js index 17b5168c32f..54c630b8ba0 100644 --- a/spec/frontend/lib/utils/error_message_spec.js +++ b/spec/frontend/lib/utils/error_message_spec.js @@ -1,65 +1,43 @@ import { parseErrorMessage, USER_FACING_ERROR_MESSAGE_PREFIX } from '~/lib/utils/error_message'; -const defaultErrorMessage = 'Something caused this error'; -const userFacingErrorMessage = 'User facing error message'; -const nonUserFacingErrorMessage = 'NonUser facing error message'; -const genericErrorMessage = 'Some error message'; - -describe('error message', () => { - describe('when given an errormessage object', () => { - const errorMessageObject = { - options: { - cause: defaultErrorMessage, - }, - filename: 'error.js', - linenumber: 7, - }; - - it('returns the correct values for userfacing errors', () => { - const userFacingObject = errorMessageObject; - userFacingObject.message = `${USER_FACING_ERROR_MESSAGE_PREFIX} ${userFacingErrorMessage}`; - - expect(parseErrorMessage(userFacingObject)).toEqual({ - message: userFacingErrorMessage, - userFacing: true, - }); - }); - - it('returns the correct values for non userfacing errors', () => { - const nonUserFacingObject = errorMessageObject; - nonUserFacingObject.message = nonUserFacingErrorMessage; - - expect(parseErrorMessage(nonUserFacingObject)).toEqual({ - message: nonUserFacingErrorMessage, - userFacing: false, - }); - }); - }); - - describe('when given an errormessage string', () => { - it('returns the correct values for userfacing errors', () => { - expect( - parseErrorMessage(`${USER_FACING_ERROR_MESSAGE_PREFIX} ${genericErrorMessage}`), - ).toEqual({ - message: genericErrorMessage, - userFacing: true, - }); - }); - - it('returns the correct values for non userfacing errors', () => { - expect(parseErrorMessage(genericErrorMessage)).toEqual({ - message: genericErrorMessage, - userFacing: false, - }); - }); - }); - - describe('when given nothing', () => { - it('returns an empty error message', () => { - expect(parseErrorMessage()).toEqual({ - message: '', - userFacing: false, - }); - }); - }); +const defaultErrorMessage = 'Default error message'; +const errorMessage = 'Returned error message'; + +const generateErrorWithMessage = (message) => { + return { + message, + }; +}; + +describe('parseErrorMessage', () => { + it.each` + error | expectedResult + ${`${USER_FACING_ERROR_MESSAGE_PREFIX} ${errorMessage}`} | ${errorMessage} + ${`${errorMessage} ${USER_FACING_ERROR_MESSAGE_PREFIX}`} | ${defaultErrorMessage} + ${errorMessage} | ${defaultErrorMessage} + ${undefined} | ${defaultErrorMessage} + ${''} | ${defaultErrorMessage} + `( + 'properly parses "$error" error object and returns "$expectedResult"', + ({ error, expectedResult }) => { + const errorObject = generateErrorWithMessage(error); + expect(parseErrorMessage(errorObject, defaultErrorMessage)).toEqual(expectedResult); + }, + ); + + it.each` + error | defaultMessage | expectedResult + ${undefined} | ${defaultErrorMessage} | ${defaultErrorMessage} + ${''} | ${defaultErrorMessage} | ${defaultErrorMessage} + ${{}} | ${defaultErrorMessage} | ${defaultErrorMessage} + ${generateErrorWithMessage(errorMessage)} | ${undefined} | ${''} + ${generateErrorWithMessage(`${USER_FACING_ERROR_MESSAGE_PREFIX} ${errorMessage}`)} | ${undefined} | ${errorMessage} + ${generateErrorWithMessage(errorMessage)} | ${''} | ${''} + ${generateErrorWithMessage(`${USER_FACING_ERROR_MESSAGE_PREFIX} ${errorMessage}`)} | ${''} | ${errorMessage} + `( + 'properly handles the edge case of error="$error" and defaultMessage="$defaultMessage"', + ({ error, defaultMessage, expectedResult }) => { + expect(parseErrorMessage(error, defaultMessage)).toEqual(expectedResult); + }, + ); }); -- cgit v1.2.3