云
23 小时以前 704265308b1227dbada5a36b2027b588c062ded2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package cn.iocoder.yudao.module.mes.service.wm.productsales;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productsales.MesWmProductSalesDetailDO;
import org.junit.jupiter.api.Test;
import java.math.BigDecimal;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
class BagBusinessOutboundTest {
    @Test void businessCodeResolvesCanonicalBagForRepeatPick() {
        var f=new SalesPickingSelectionTest();f.setup();
        when(f.bags.selectByScanCodeForUpdate("BUS-31")).thenReturn(f.b1);
        when(f.details.selectPickingByBatchCodeForUpdate("PRO-100")).thenReturn(List.of(new MesWmProductSalesDetailDO().setId(77L).setSalesId(11L).setBagCodeId(31L)));
        f.req.setScanType("BAG");f.req.setScanContent("BUS-31");f.req.setBagIds(null);f.req.setQuantity(BigDecimal.ONE);
        var result=f.service.scanProductSales(f.req);assertEquals(31L,result.getCodeId());assertTrue(result.getAlreadyScanned());assertEquals(77L,result.getDetailId());f.noInsert();
    }
    @Test void palletPreviewCountsSelectableEffectiveBags() {
        var f=new SalesPickingSelectionTest();f.setup();f.b3.setStatus(30);
        var result=f.service.previewScan("SOURCE");assertEquals("PALLET",result.getScanType());assertEquals(BigDecimal.valueOf(2),result.getScanQuantity());assertEquals(2,result.getBags().size());f.noInsert();
    }
}