以入仓码作为查货入口和轨迹卡片主号码
This commit is contained in:
@@ -61,9 +61,26 @@ class OrderDataTests(unittest.TestCase):
|
||||
'1.2x0.8x0.6m', '[文件]/uploads/20261029100145_6787.txt'):
|
||||
self.assertEqual(order_data.extract_reference(text), [])
|
||||
events = self.events('帮我查询物流轨迹')
|
||||
self.assertIn('订单号', events[0]['t'])
|
||||
self.assertIn('入仓码', events[0]['t'])
|
||||
self.assertEqual(events[-1], {'d':1})
|
||||
|
||||
def test_direct_inbound_lookup_and_followup_keep_the_inbound_identity(self):
|
||||
cid=self.client.post('/api/new_chat').json['id']
|
||||
card=self.events(self.record['inbound_code'],cid)[0]['card']
|
||||
self.assertEqual(card['no'],self.record['order_no'])
|
||||
self.assertTrue(card['summary'].startswith('入仓码 '+self.record['inbound_code']))
|
||||
self.assertEqual(next(item['value'] for item in card['fields'] if item['key']=='number'),self.record['order_no'])
|
||||
self.import_rows([{**self.record,'gross_weight_kg':'42.000'}],replace=True)
|
||||
followup=self.events('现在到哪了',cid)[0]['card']
|
||||
self.assertTrue(followup['summary'].startswith('入仓码 '+self.record['inbound_code']))
|
||||
self.assertEqual(next(item['value'] for item in followup['fields'] if item['key']=='weight'),'42.000 kg')
|
||||
|
||||
def test_missing_inbound_code_is_not_replaced_by_the_internal_order_number(self):
|
||||
self.import_rows([{**self.record,'inbound_code':None}],replace=True)
|
||||
card=self.events(self.record['order_no'])[0]['card']
|
||||
self.assertFalse(any(item['key']=='inbound' for item in card['fields']))
|
||||
self.assertTrue(card['summary'].startswith('订单号 '+self.record['order_no']))
|
||||
|
||||
def test_order_identifiers_remain_queryable_alongside_quantities_and_dates(self):
|
||||
for message in ('查询 FL202610290001,2026-10-29T16:53:00 提交的',
|
||||
'FL202610290001 30.000000 KG', 'FL202610290001 100x100x100cm',
|
||||
@@ -86,7 +103,7 @@ class OrderDataTests(unittest.TestCase):
|
||||
def test_unimplemented_bulk_queries_ask_for_identifier_instead_of_inventing_records(self):
|
||||
with patch('logistics_chat.ai_client.post_completion') as model:
|
||||
events = self.events('列出所有订单')
|
||||
self.assertIn('请提供订单号', events[0]['t'])
|
||||
self.assertIn('请提供入仓码', events[0]['t'])
|
||||
model.assert_not_called()
|
||||
|
||||
def test_server_tenant_scope_and_ambiguous_identifiers(self):
|
||||
|
||||
Reference in New Issue
Block a user