弱网核销功能
This commit is contained in:
@@ -7,6 +7,9 @@ import {
|
||||
allocateBenefitCoupons,
|
||||
calcBenefitSummary,
|
||||
orderTabToStatuses,
|
||||
classifyRedeemClientError,
|
||||
generateRedeemPendingNo,
|
||||
REDEEM_WEAKNET_FAIL_THRESHOLD,
|
||||
} from './index';
|
||||
|
||||
describe('calcBenefitAmount', () => {
|
||||
@@ -120,3 +123,26 @@ describe('calcBenefitSummary', () => {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('classifyRedeemClientError', () => {
|
||||
it('treats 5xx and network messages as NETWORK', () => {
|
||||
expect(classifyRedeemClientError({ status: 502 })).toBe('NETWORK');
|
||||
expect(classifyRedeemClientError({ message: 'Failed to fetch' })).toBe('NETWORK');
|
||||
expect(classifyRedeemClientError({ message: '网络超时' })).toBe('NETWORK');
|
||||
});
|
||||
|
||||
it('treats business messages as BUSINESS', () => {
|
||||
expect(classifyRedeemClientError({ status: 400, message: '核销码无效或已过期' })).toBe('BUSINESS');
|
||||
expect(classifyRedeemClientError({ message: '余额不足' })).toBe('BUSINESS');
|
||||
});
|
||||
});
|
||||
|
||||
describe('generateRedeemPendingNo', () => {
|
||||
it('uses RP prefix', () => {
|
||||
expect(generateRedeemPendingNo().startsWith('RP')).toBe(true);
|
||||
});
|
||||
|
||||
it('exports weaknet threshold of 5', () => {
|
||||
expect(REDEEM_WEAKNET_FAIL_THRESHOLD).toBe(5);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user