Merge remote-tracking branch 'origin/main'
This commit is contained in:
78
tests/request-session-expired-message.test.ts
Normal file
78
tests/request-session-expired-message.test.ts
Normal file
@@ -0,0 +1,78 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import { describe, it } from 'node:test';
|
||||
import {
|
||||
SESSION_EXPIRED_MESSAGE,
|
||||
shouldDeferBackendFailToCaller,
|
||||
shouldSuppressErrorMessage
|
||||
} from '../src/service/request/error-message';
|
||||
|
||||
describe('request session expired message handling', () => {
|
||||
it('uses the unified session expired message', () => {
|
||||
assert.equal(SESSION_EXPIRED_MESSAGE, '登录已失效,请重新登录');
|
||||
});
|
||||
|
||||
it('suppresses raw backend errors when the request is marked silent', () => {
|
||||
assert.equal(
|
||||
shouldSuppressErrorMessage({
|
||||
backendErrorCode: '500',
|
||||
suppressErrorMessage: true,
|
||||
logoutCodes: [],
|
||||
modalLogoutCodes: [],
|
||||
expiredTokenCodes: []
|
||||
}),
|
||||
true
|
||||
);
|
||||
});
|
||||
|
||||
it('lets refresh-token callers handle every backend failure silently', () => {
|
||||
assert.equal(
|
||||
shouldDeferBackendFailToCaller({
|
||||
suppressErrorMessage: true,
|
||||
skipTokenRefresh: true
|
||||
}),
|
||||
true
|
||||
);
|
||||
});
|
||||
|
||||
it('suppresses auth lifecycle error codes handled by request flow', () => {
|
||||
assert.equal(
|
||||
shouldSuppressErrorMessage({
|
||||
backendErrorCode: '401',
|
||||
logoutCodes: ['401'],
|
||||
modalLogoutCodes: [],
|
||||
expiredTokenCodes: []
|
||||
}),
|
||||
true
|
||||
);
|
||||
assert.equal(
|
||||
shouldSuppressErrorMessage({
|
||||
backendErrorCode: '7777',
|
||||
logoutCodes: [],
|
||||
modalLogoutCodes: ['7777'],
|
||||
expiredTokenCodes: []
|
||||
}),
|
||||
true
|
||||
);
|
||||
assert.equal(
|
||||
shouldSuppressErrorMessage({
|
||||
backendErrorCode: '1002023000',
|
||||
logoutCodes: [],
|
||||
modalLogoutCodes: [],
|
||||
expiredTokenCodes: ['1002023000']
|
||||
}),
|
||||
true
|
||||
);
|
||||
});
|
||||
|
||||
it('keeps normal backend errors visible', () => {
|
||||
assert.equal(
|
||||
shouldSuppressErrorMessage({
|
||||
backendErrorCode: '500',
|
||||
logoutCodes: ['401'],
|
||||
modalLogoutCodes: ['7777'],
|
||||
expiredTokenCodes: ['1002023000']
|
||||
}),
|
||||
false
|
||||
);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user