空运人工价锁舱现拉补全舱位并拦清缺参;成交/报价填表与工单陆运费率展示同步收紧。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1341,6 +1341,28 @@ class SeaGroupCollabFieldTests(unittest.TestCase):
|
||||
self.assertEqual(str(rows["海运费"].get("amount") or ""), "100.00")
|
||||
self.assertEqual(str(rows["燃油附加费"].get("amount") or ""), "15.00")
|
||||
|
||||
def test_land_weight_band_unit_price_and_rates(self) -> None:
|
||||
"""陆运集拼:2-500KG 单价 + 燃油附加费率/税率,不能把档下限 2 当成燃油附加费。"""
|
||||
from agent.llm.extract_text import extract_product_quote
|
||||
|
||||
quote = extract_product_quote(
|
||||
"2-500KG 单价CNY990,燃油附加费率1%,税率6%"
|
||||
)
|
||||
self.assertEqual(str(quote.get("total") or ""), "990")
|
||||
self.assertEqual(str(quote.get("fuel_surcharge_rate") or ""), "1%")
|
||||
self.assertEqual(str(quote.get("tax_rate") or ""), "6%")
|
||||
tiers = list(quote.get("weightPrices") or [])
|
||||
self.assertEqual(len(tiers), 1)
|
||||
self.assertEqual(int(tiers[0].get("min") or 0), 2)
|
||||
self.assertEqual(int(tiers[0].get("max") or 0), 500)
|
||||
self.assertEqual(str(tiers[0].get("price") or ""), "990")
|
||||
rows = {str(x.get("name") or ""): x for x in (quote.get("fee_rows") or [])}
|
||||
self.assertIn("2-500KG", rows)
|
||||
self.assertEqual(str(rows["2-500KG"].get("amount") or ""), "990")
|
||||
self.assertNotEqual(str(rows.get("燃油附加费", {}).get("amount") or ""), "2")
|
||||
self.assertEqual(str(rows.get("燃油附加费率", {}).get("amount") or ""), "1%")
|
||||
self.assertEqual(str(rows.get("税率", {}).get("amount") or ""), "6%")
|
||||
|
||||
def test_air_unit_qty_amount_keeps_air_freight_name(self) -> None:
|
||||
"""空运费 单价/数量/金额:费用名是空运费,金额用「金额」不是单价。"""
|
||||
from agent.llm.extract_text import extract_product_quote
|
||||
|
||||
Reference in New Issue
Block a user