const s=require("../../app/validation/inventoryMerchandising.schemas");const input=body=>({body,params:{},query:{}}); describe("Phase 5 strict validation",()=>{test("normalizes coupon codes",()=>expect(s.coupon.parse(input({code:"save_10",promotionId:"p",status:"ACTIVE"})).body.code).toBe("SAVE_10"));test("rejects sensitive unknown fields",()=>expect(()=>s.adjustment.parse(input({warehouseId:"w",variantId:"v",quantityDelta:1,reason:"receipt",onHand:999}))).toThrow());test("requires exactly one business audience",()=>expect(()=>s.businessPrice.parse(input({variantId:"v",currency:"LKR",price:"10.00",businessTierId:"t",businessCustomerId:"c"}))).toThrow());test("rejects floating quantities",()=>expect(()=>s.transfer.parse(input({sourceWarehouseId:"a",destinationWarehouseId:"b",variantId:"v",quantity:1.5}))).toThrow());});