确定运输方式前的多句询价带到所选方式并按该方式抽字段;成交已定后放舱不再推跟进,未成交原因不再被当成新询价。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -206,6 +206,13 @@ class SeaTextInquiryTests(unittest.TestCase):
|
||||
self.assertIn("运输分类", check["missing"])
|
||||
self.assertIn("贸易条款", check["missing_display"])
|
||||
self.assertIn("运输分类", check["missing_display"])
|
||||
text = copy.ask_clarify(
|
||||
facts=check["facts"],
|
||||
missing_keys=check["missing"],
|
||||
transport_mode="海运",
|
||||
)
|
||||
self.assertIn("贸易条款(必填):\n(如:门到门、港到港)", text)
|
||||
self.assertNotIn("如:FOB", text)
|
||||
|
||||
def test_sea_rejects_door_to_door_class(self) -> None:
|
||||
facts = {
|
||||
@@ -324,6 +331,29 @@ class SeaTextInquiryTests(unittest.TestCase):
|
||||
self.assertIn("贸易条款", joined)
|
||||
self.assertNotEqual(self.flow.session_of("s-door").facts.get("贸易条款"), "门到门")
|
||||
|
||||
def test_reply_door_to_door_fills_trade_terms(self) -> None:
|
||||
"""补问后只回门到门,要记成贸易条款,不能回参数提取不全。"""
|
||||
first = dict(COMPLETE_SEA)
|
||||
first.pop("贸易条款")
|
||||
phase = self.flow.on_text(
|
||||
sender_id="s-door-reply",
|
||||
text="先缺条款",
|
||||
reply=self._reply,
|
||||
injected_facts=first,
|
||||
injected_mode="SEA",
|
||||
)
|
||||
self.assertEqual(phase, "clarify")
|
||||
self.replies.clear()
|
||||
phase = self.flow.on_text(
|
||||
sender_id="s-door-reply",
|
||||
text="门到门",
|
||||
reply=self._reply,
|
||||
)
|
||||
self.assertEqual(phase, "wait_collab")
|
||||
joined = "\n".join(self.replies)
|
||||
self.assertIn("贸易条款:门到门", joined)
|
||||
self.assertNotIn("参数提取不全", joined)
|
||||
|
||||
def test_harvest_class_from_reply_then_quotes(self) -> None:
|
||||
first = dict(COMPLETE_SEA)
|
||||
first.pop("运输分类")
|
||||
|
||||
Reference in New Issue
Block a user