自动修改
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
validateRedeemAmount,
|
||||
allocateBenefitCoupons,
|
||||
calcBenefitSummary,
|
||||
orderTabToStatuses,
|
||||
} from './index';
|
||||
|
||||
describe('calcBenefitAmount', () => {
|
||||
@@ -87,6 +88,24 @@ describe('allocateBenefitCoupons', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('orderTabToStatuses', () => {
|
||||
it('maps V3.0 three user tabs', () => {
|
||||
expect(orderTabToStatuses('pending_pay')).toEqual(['PENDING_PAY']);
|
||||
expect(orderTabToStatuses('paid')).toEqual([
|
||||
'PENDING_SHIP',
|
||||
'OUT_WAREHOUSE',
|
||||
'SHIPPING',
|
||||
'PENDING_RECEIVE',
|
||||
]);
|
||||
expect(orderTabToStatuses('completed')).toEqual(['COMPLETED']);
|
||||
});
|
||||
|
||||
it('keeps legacy tab keys mapped to paid', () => {
|
||||
expect(orderTabToStatuses('pending_ship')).toEqual(orderTabToStatuses('paid'));
|
||||
expect(orderTabToStatuses('pending_receive')).toEqual(orderTabToStatuses('paid'));
|
||||
});
|
||||
});
|
||||
|
||||
describe('calcBenefitSummary', () => {
|
||||
it('max redeem equals total balance', () => {
|
||||
expect(calcBenefitSummary([300, 400])).toEqual({
|
||||
|
||||
@@ -115,10 +115,10 @@ export function orderTabToStatuses(tab: string): string[] | undefined {
|
||||
switch (tab) {
|
||||
case 'pending_pay':
|
||||
return ['PENDING_PAY'];
|
||||
case 'paid':
|
||||
case 'pending_ship':
|
||||
return ['PENDING_SHIP', 'OUT_WAREHOUSE'];
|
||||
case 'pending_receive':
|
||||
return ['SHIPPING', 'PENDING_RECEIVE'];
|
||||
return ['PENDING_SHIP', 'OUT_WAREHOUSE', 'SHIPPING', 'PENDING_RECEIVE'];
|
||||
case 'completed':
|
||||
return ['COMPLETED'];
|
||||
default:
|
||||
|
||||
@@ -40,9 +40,13 @@ export enum OrderStatus {
|
||||
export enum OrderTab {
|
||||
ALL = 'all',
|
||||
PENDING_PAY = 'pending_pay',
|
||||
PENDING_SHIP = 'pending_ship',
|
||||
PENDING_RECEIVE = 'pending_receive',
|
||||
/** V3.0 PRD:已付款(含待发货/配送中,内部多状态聚合) */
|
||||
PAID = 'paid',
|
||||
COMPLETED = 'completed',
|
||||
/** @deprecated 兼容旧链接,映射同 PAID */
|
||||
PENDING_SHIP = 'pending_ship',
|
||||
/** @deprecated 兼容旧链接,映射同 PAID */
|
||||
PENDING_RECEIVE = 'pending_receive',
|
||||
}
|
||||
|
||||
export enum DeliveryType {
|
||||
@@ -91,6 +95,9 @@ export const CLIENT_APP_ACTOR_MAP: Record<ClientApp, ActorType> = {
|
||||
|
||||
export const REDEEM_DIRECT_LIMIT_POLICY = 'TOTAL_ACTIVE_BALANCE';
|
||||
export const REDEEM_DOCUMENT_LIMIT_POLICY = 'DOCUMENT_BALANCE';
|
||||
export const REDEEM_TOKEN_TTL_SECONDS = 300;
|
||||
/** V3.0 PRD:核销码 3 分钟有效 */
|
||||
export const REDEEM_TOKEN_TTL_SECONDS = 180;
|
||||
/** 短信/核销验证码 3 分钟有效(NFR-003) */
|
||||
export const SMS_CODE_TTL_SECONDS = 180;
|
||||
/** 核销成功后供用户端轮询结果,略长于 token TTL */
|
||||
export const REDEEM_RESULT_TTL_SECONDS = 600;
|
||||
export const REDEEM_RESULT_TTL_SECONDS = 360;
|
||||
|
||||
Reference in New Issue
Block a user