feat(firstleg): add private warehouse delivery fee
This commit is contained in:
+2
@@ -24,6 +24,8 @@ class FeeItemMigrationSqlContractTest {
|
||||
.contains("matched_seed.trade_scope = f.trade_scope")
|
||||
.contains("193000000001000111, 0, 'FBA_HEAD_FREIGHT'")
|
||||
.contains("fee_code = 'FBA_HEAD_FREIGHT'")
|
||||
.contains("193000000001000112, 0, 'PRIVATE_LAST_MILE_DELIVERY'")
|
||||
.contains("fee_code = 'PRIVATE_LAST_MILE_DELIVERY'")
|
||||
.contains("warehouse_receivable = 1")
|
||||
.doesNotContain("LEFT JOIN tmp_fee_item_seed by_code")
|
||||
.doesNotContain("LEFT JOIN tmp_fee_item_seed by_semantic")
|
||||
|
||||
@@ -337,6 +337,29 @@ class FeeManagementServiceTest {
|
||||
.hasMessageContaining("仓储应收/应付");
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("私人仓尾程派送费只允许PRIVATE目的地")
|
||||
void restrictsPrivateLastMileDeliveryFeeByDestinationType() {
|
||||
InboundOrderEntity fbaInbound = inbound();
|
||||
fbaInbound.setDestinationType("FBA");
|
||||
FeeItemEntity privateDelivery = item(true, true);
|
||||
privateDelivery.setFeeCode("PRIVATE_LAST_MILE_DELIVERY");
|
||||
when(repository.findInbound(10001L, 21L)).thenReturn(fbaInbound);
|
||||
when(repository.findItem(11L)).thenReturn(privateDelivery);
|
||||
|
||||
assertThatThrownBy(() -> details.create(10001L, 21L, 9L,
|
||||
detailRequest("RECEIVABLE")))
|
||||
.isInstanceOf(BizException.class)
|
||||
.hasMessageContaining("目的地类型为PRIVATE");
|
||||
verify(repository, never()).insertDetail(any());
|
||||
|
||||
fbaInbound.setDestinationType("PRIVATE");
|
||||
doAnswer(invocation -> { ((InboundFeeDetailEntity) invocation.getArgument(0)).setId(32L); return null; })
|
||||
.when(repository).insertDetail(any());
|
||||
assertThat(details.create(10001L, 21L, 9L, detailRequest("RECEIVABLE")).getId())
|
||||
.isEqualTo(32L);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("审核只更新待审核明细")
|
||||
void approvesPendingDetail() {
|
||||
|
||||
Reference in New Issue
Block a user