mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-19 06:39:50 +08:00
[WLOS-030] 设计并落地统一的白名单订单完成补偿方法
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
package com.jsowell.service;
|
||||
|
||||
import com.jsowell.common.enums.ykc.OrderPayStatusEnum;
|
||||
import com.jsowell.common.enums.ykc.OrderStatusEnum;
|
||||
import com.jsowell.pile.domain.OrderBasicInfo;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
class WhitelistOrderCompletionDefaultsTest {
|
||||
|
||||
@Test
|
||||
void apply_shouldFillDefaults_whenAmountsAndStatusMissing() {
|
||||
OrderBasicInfo orderBasicInfo = new OrderBasicInfo();
|
||||
Date now = new Date();
|
||||
|
||||
WhitelistOrderCompletionDefaults.apply(orderBasicInfo, now);
|
||||
|
||||
assertEquals(OrderStatusEnum.ORDER_COMPLETE.getValue(), orderBasicInfo.getOrderStatus());
|
||||
assertEquals(BigDecimal.ZERO, orderBasicInfo.getOrderAmount());
|
||||
assertEquals(BigDecimal.ZERO, orderBasicInfo.getVirtualAmount());
|
||||
assertEquals(BigDecimal.ZERO, orderBasicInfo.getSettleAmount());
|
||||
assertEquals(BigDecimal.ZERO, orderBasicInfo.getActualReceivedAmount());
|
||||
assertEquals(BigDecimal.ZERO, orderBasicInfo.getRefundAmount());
|
||||
assertEquals(OrderPayStatusEnum.pay_nothing.getValue(), orderBasicInfo.getPayStatus());
|
||||
assertEquals(now, orderBasicInfo.getSettlementTime());
|
||||
}
|
||||
|
||||
@Test
|
||||
void apply_shouldNotOverrideExistingSettlementTimeOrPayStatus() {
|
||||
Date settlementTime = new Date(123456789L);
|
||||
OrderBasicInfo orderBasicInfo = new OrderBasicInfo();
|
||||
orderBasicInfo.setSettlementTime(settlementTime);
|
||||
orderBasicInfo.setPayStatus(OrderPayStatusEnum.paid.getValue());
|
||||
orderBasicInfo.setPayAmount(new BigDecimal("10"));
|
||||
orderBasicInfo.setOrderAmount(new BigDecimal("5"));
|
||||
|
||||
WhitelistOrderCompletionDefaults.apply(orderBasicInfo, new Date());
|
||||
|
||||
assertEquals(settlementTime, orderBasicInfo.getSettlementTime());
|
||||
assertEquals(OrderPayStatusEnum.paid.getValue(), orderBasicInfo.getPayStatus());
|
||||
assertEquals(new BigDecimal("5"), orderBasicInfo.getOrderAmount());
|
||||
assertEquals(new BigDecimal("5"), orderBasicInfo.getVirtualAmount());
|
||||
assertEquals(BigDecimal.ZERO, orderBasicInfo.getSettleAmount());
|
||||
assertEquals(BigDecimal.ZERO, orderBasicInfo.getActualReceivedAmount());
|
||||
assertEquals(new BigDecimal("5"), orderBasicInfo.getRefundAmount());
|
||||
assertEquals(OrderStatusEnum.ORDER_COMPLETE.getValue(), orderBasicInfo.getOrderStatus());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user