from pathlib import Path p=Path('C:/kefu/wechat_rpa/test_review_assistant_ui.py') s=p.read_text(encoding='utf-8') marker=' def test_persist_failure_does_not_claim_config_is_enabled(self):\n' extra=''' def test_successful_reselection_clears_matching_warning_without_enabling(self): self.host.runtime_settings['review_assistant_accounts'][ACCOUNT] = { 'enabled': False, 'recipient_conv_id': RECIPIENT_ID, 'recipient_name': RECIPIENT['name']} self.host._review_assistant_state['recipient_check'] = { 'id': RECIPIENT_ID, 'ok': False, 'reason': '旧核验状态不可用'} self.assertTrue(self.host._review_assistant_console_state()['recipientWarning']) self.host._save_review_assistant(ACCOUNT, recipient=RECIPIENT) self.assertEqual(self.host._review_assistant_console_state()['recipientWarning'], '') self.assertFalse(self.host.runtime_settings['review_assistant_accounts'][ACCOUNT]['enabled']) self.assertEqual(self.host.runtime_settings['review_assistant_accounts'][ACCOUNT]['recipient_conv_id'], RECIPIENT_ID) ''' assert marker in s;s=s.replace(marker,extra+marker) marker='class ReminderRefreshTest(TestCase):\n' extra='''class ReminderRefreshTest(TestCase): def test_refresh_warns_for_invalid_saved_m_without_rewriting_or_disabling_it(self): import review_assistant host = host_fixture() old = {'enabled': True, 'recipient_conv_id': 'M:10001', 'recipient_name': '旧助理'} host.runtime_settings['review_assistant_accounts'][ACCOUNT] = dict(old) with mock.patch.object(qt.threading, 'Thread', ImmediateThread), \\ mock.patch.object(contacts, 'active_context', return_value=ACTIVE), \\ mock.patch.object(contacts, 'list_recipients', return_value={**ACTIVE, 'items': []}), \\ mock.patch.object(contacts, 'validate_recipient', return_value={ 'ok': False, 'reason': '已保存联系人不在我的客户中', 'recipient': None}) as validate, \\ mock.patch.object(review_assistant, 'notification_summary', return_value={}): host._refresh_review_assistant() validate.assert_called_once_with(ACCOUNT, 'M:10001') state = host._review_assistant_console_state() self.assertIn('不在我的客户', state['recipientWarning']) self.assertEqual(state['recipient']['id'], 'M:10001') self.assertEqual(host.runtime_settings['review_assistant_accounts'][ACCOUNT], old) host.save_runtime_settings.assert_not_called() def test_warning_for_old_target_is_not_applied_to_new_target_or_other_account(self): host = host_fixture() host.runtime_settings['review_assistant_accounts'] = { ACCOUNT: {'enabled': False, 'recipient_conv_id': RECIPIENT_ID}, OTHER: {'enabled': False, 'recipient_conv_id': f'S:{OTHER}_10001'}} host._review_assistant_state['recipient_check'] = {'id': 'M:10001', 'ok': False, 'reason': '旧目标无效'} self.assertEqual(host._review_assistant_console_state()['recipientWarning'], '') host._review_assistant_state['account_id'] = OTHER self.assertEqual(host._review_assistant_console_state()['recipientWarning'], '') self.assertEqual(host._review_assistant_console_state()['recipient']['id'], f'S:{OTHER}_10001') ''' assert marker in s;s=s.replace(marker,extra) compile(s,str(p),'exec');p.write_text(s,encoding='utf-8',newline='') print('Added 3 warning/state-isolation regressions.')