优化
This commit is contained in:
@@ -38,7 +38,7 @@ describe('API error diagnostics', () => {
|
||||
unwrapApiResponse({ code: 'A0403', message: '无权限', data: null, requestId: 'request-1', traceId: 'trace-1' })
|
||||
} catch (error) {
|
||||
expect(getApiErrorDetails(error)).toEqual({
|
||||
message: '无权限',
|
||||
message: '当前账号无权访问该数据,请联系管理员确认权限',
|
||||
code: 'A0403',
|
||||
requestId: 'request-1',
|
||||
traceId: 'trace-1',
|
||||
@@ -56,13 +56,30 @@ describe('API error diagnostics', () => {
|
||||
})
|
||||
|
||||
expect(getApiErrorDetails(error)).toEqual({
|
||||
message: '服务不可用',
|
||||
message: '服务暂时不可用,请稍后重试',
|
||||
code: 'S0503',
|
||||
requestId: 'request-2',
|
||||
traceId: 'trace-2',
|
||||
})
|
||||
})
|
||||
|
||||
it('uses safe actionable messages for HTTP authentication and permission failures', () => {
|
||||
const createError = (status: number, data: unknown) => new axios.AxiosError('Request failed', 'ERR_BAD_RESPONSE', undefined, undefined, {
|
||||
status,
|
||||
statusText: 'Request failed',
|
||||
headers: {},
|
||||
config: { headers: new AxiosHeaders() },
|
||||
data,
|
||||
})
|
||||
|
||||
expect(getApiErrorDetails(createError(401, { message: 'token parse stack' })).message)
|
||||
.toBe('登录状态已失效,请重新登录')
|
||||
expect(getApiErrorDetails(createError(403, { message: 'policy engine details' })).message)
|
||||
.toBe('当前账号无权访问该数据,请联系管理员确认权限')
|
||||
expect(getApiErrorDetails(createError(502, '<html>upstream failed</html>')).message)
|
||||
.toBe('服务暂时不可用,请稍后重试')
|
||||
})
|
||||
|
||||
it('explains a proxy 413 response without a JSON error envelope', () => {
|
||||
const error = new axios.AxiosError('Request failed', 'ERR_BAD_REQUEST', undefined, undefined, {
|
||||
status: 413,
|
||||
|
||||
Reference in New Issue
Block a user