Files
kefu/deploy/review-visibility-20260916/visual_handoff_extra_tests.txt
T
2026-09-21 10:34:06 +08:00

24 lines
1.4 KiB
Plaintext

def test_plain_cancel_cannot_bypass_receipt_or_sending_guard(self):
for stage, send_state in [('receipt_check', ''), ('uncertain', ''), ('unknown', ''),
('sending', ''), ('queued', 'unknown')]:
self.state.update(stage=stage, send_state=send_state)
result = self.bot.cancel_pending_replies([self.key])
self.assertEqual(result['protected'], [self.key])
self.assertFalse(result['deleted'])
def test_new_task_cannot_receive_an_old_model_result_after_handoff(self):
self.state.update(stage='generating', awaiting_review=False)
self.bot._consume_database_update = mock.Mock()
self.bot.report_progress = mock.Mock()
def old_model_returns(*args, **kwargs):
self.bot.handoff_pending_replies([self.key])
# A subsequent proven customer message is a different task object.
self.bot._manual_handoffs[self.key]['resumed_at'] = 1
self.bot._cancelled_reply_sessions.clear()
self.bot._pending_reply_sessions[self.key] = {'stage': 'queued', 'staged_user_text': '后续新问题'}
return '旧模型回复'
self.bot._generate_ai_reply_impl = mock.Mock(side_effect=old_model_returns)
self.assertIsNone(self.bot._generate_ai_reply(self.fp, '旧问题'))
self.assertNotIn('staged_reply_text', self.bot._pending_reply_sessions[self.key])