Skip to content

Commit

Permalink
feat: Return status code in place of error code if not provided
Browse files Browse the repository at this point in the history
  • Loading branch information
untemps authored and untemps committed May 1, 2021
1 parent d2f9e49 commit 8b727cb
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 7 deletions.
2 changes: 1 addition & 1 deletion src/JSendWrapper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class JSendWrapper {
const status: EJSendStatus = JSendWrapper.getStatus(statusCode)
switch (status) {
case EJSendStatus.ERROR:
return { status, message: body || 'Error', ...(!!errorCode && { code: errorCode }), ...(!!errorData && { data: errorData }) }
return { status, message: body || 'Error', code: errorCode || statusCode, ...(!!errorData && { data: errorData }) }
}
return { status, data: body || null }
}
Expand Down
11 changes: 5 additions & 6 deletions src/__tests__/JSendWrapper.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,15 @@ describe('JSendWrapper', () => {
[300, 'foo', undefined, undefined, { status: 'success', data: 'foo' }],
[400, 'foo', undefined, undefined, { status: 'fail', data: 'foo' }],
[499, 'foo', undefined, undefined, { status: 'fail', data: 'foo' }],
[500, 'foo', undefined, undefined, { status: 'error', message: 'foo' }],
[500, ['foo'], undefined, undefined, { status: 'error', message: ['foo'] }],
[500, 'foo', undefined, undefined, { status: 'error', message: 'foo', code: 500 }],
[500, ['foo'], undefined, undefined, { status: 'error', message: ['foo'], code: 500 }],
[200, 42, undefined, undefined, { status: 'success', data: 42 }],
[200, undefined, undefined, undefined, { status: 'success', data: null }],
[500, undefined, undefined, undefined, { status: 'error', message: 'Error' }],
[500, 'foo', undefined, undefined, { status: 'error', message: 'foo' }],
[500, 'foo', undefined, undefined, { status: 'error', message: 'foo' }],
[500, undefined, undefined, undefined, { status: 'error', message: 'Error', code: 500 }],
[500, 'foo', undefined, undefined, { status: 'error', message: 'foo', code: 500 }],
[500, 'foo', 12, undefined, { status: 'error', message: 'foo', code: 12 }],
[500, 'foo', 12, 'bar', { status: 'error', message: 'foo', code: 12, data: 'bar' }],
[500, 'foo', undefined, 'bar', { status: 'error', message: 'foo', data: 'bar' }],
[500, 'foo', undefined, 'bar', { status: 'error', message: 'foo', code: 500, data: 'bar' }],
])('should wrap the response in the right format', (statusCode, data, errorCode, errorData, expected) => {
expect(new JSendWrapper().wrap(statusCode, data, errorCode, errorData)).toEqual(expected)
})
Expand Down

0 comments on commit 8b727cb

Please sign in to comment.