海运补问保留贸易条款;陆运多车型价表按列回填,车型码不进起始地
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -360,6 +360,43 @@ class LandGroupCollabTests(unittest.TestCase):
|
||||
"只有这张单的销售能调价。航线请继续报价,价格未改。",
|
||||
)
|
||||
|
||||
def test_land_multi_vehicle_rates_attach_segment(self) -> None:
|
||||
"""多车型价挂到 landSegments,出单才能按车型列写入;OD 用工单事实。"""
|
||||
from agent.llm.extract_text import extract_product_quote
|
||||
from agent.policy.sea_group_ops import _attach_land_vehicle_rates_segment
|
||||
|
||||
quote = extract_product_quote(
|
||||
"太原富士康--春疆\n车型:\n5T/8T:13000\n10T:14000\n40HQ/45HQ:19500\n含0点税",
|
||||
business_line="LAND",
|
||||
)
|
||||
view = {
|
||||
"facts": {
|
||||
"起运港": "太原富士康",
|
||||
"目的港": "越南北寧市南山工業區",
|
||||
}
|
||||
}
|
||||
out = _attach_land_vehicle_rates_segment(quote, view)
|
||||
segs = list(out.get("landSegments") or [])
|
||||
self.assertEqual(len(segs), 1)
|
||||
seg = segs[0]
|
||||
self.assertEqual(str(seg.get("origin") or ""), "太原富士康")
|
||||
self.assertEqual(str(seg.get("destination") or ""), "越南北寧市南山工業區")
|
||||
rates = dict(seg.get("vehicleRates") or {})
|
||||
self.assertEqual(rates.get("5T"), "13000")
|
||||
self.assertEqual(rates.get("45HQ"), "19500")
|
||||
self.assertEqual(str(seg.get("remark") or ""), "含0点税")
|
||||
self.assertFalse(str(seg.get("salePrice") or "").strip())
|
||||
self.assertEqual(list(out.get("fee_rows") or []), [])
|
||||
# 收货地址归一键也能取到目的地
|
||||
out2 = _attach_land_vehicle_rates_segment(
|
||||
quote,
|
||||
{"facts": {"提货地址": "太原富士康", "收货地址": "越南北寧市南山工業區"}},
|
||||
)
|
||||
self.assertEqual(
|
||||
str((out2.get("landSegments") or [{}])[0].get("destination") or ""),
|
||||
"越南北寧市南山工業區",
|
||||
)
|
||||
|
||||
def test_land_bare_price_defaults_to_land_fee(self) -> None:
|
||||
"""陆运「价格为1RMB/KG」无费用名时默认陆运费,禁止落成海运费(WO118)。"""
|
||||
from agent.llm.extract_text import extract_product_quote
|
||||
|
||||
Reference in New Issue
Block a user