Files
kefu/deploy/knowledge-v4-review/finalize.py
T
2026-09-21 10:34:06 +08:00

35 lines
2.4 KiB
Python

from pathlib import Path
root = Path('C:/kefu')
p = root/'admin-web/apps/web-antd/src/views/knowledge/review-all.vue'
s = p.read_text(encoding='utf-8')
s = s.replace(" const data = await fetchKnowledgeReviewResults(selectedId.value, resultType.value, resultPage.value);\n if (current !== resultGeneration || !props.open) return;\n rows.value = data.items; resultTotal.value = data.total;", " try {\n const data = await fetchKnowledgeReviewResults(selectedId.value, resultType.value, resultPage.value);\n if (current !== resultGeneration || !props.open) return;\n rows.value = data.items; resultTotal.value = data.total;\n } catch (cause) { if (current === resultGeneration && props.open) error.value = failureText(cause); }")
s = s.replace('<Table size="small" :data-source="rows"', '<p class="mb-2 text-gray-500">结果清单仅显示当前仍有权限的账号。</p>\n <Table size="small" :data-source="rows"')
p.write_text(s, encoding='utf-8', newline='\n')
p = root/'wechat_rpa/test_knowledge_review.py'
s = p.read_text(encoding='utf-8').replace('def test_user_disable_expiry_and_replaced_previews(self):', 'def test_expiry_and_replaced_previews(self):')
needle = '\n\nclass FullReviewApiTest(TestCase):'
addition = '''
def test_disabled_reviewer_cannot_start_or_continue(self):
self.seed(3)
reviews = KnowledgeReviewStore(self.store); job = reviews.preview('*', -1, self.actor, '')
with self.db.connect() as db:
db.execute('UPDATE users SET active=0 WHERE id=?', (self.actor,))
with self.assertRaises(ValueError):
reviews.action(job['id'], 'start', self.actor, '', True)
with self.db.connect() as db:
db.execute('UPDATE users SET active=1 WHERE id=?', (self.actor,))
reviews.action(job['id'], 'start', self.actor, '', True)
KnowledgeReviewWorker(self.store).step(1)
with self.db.connect() as db:
db.execute('UPDATE users SET active=0 WHERE id=?', (self.actor,))
KnowledgeReviewWorker(self.store).step()
final = reviews.get(job['id'], self.actor)
self.assertEqual((final['status'], final['approved']), ('failed', 1))
self.assertEqual(self.store.stats('default'), {'approved': 1, 'draft': 2})
'''
if 'def test_disabled_reviewer_cannot_start_or_continue' not in s:
s = s.replace(needle, '\n' + addition + needle)
p.write_text(s, encoding='utf-8', newline='\n')
print('Review UX and disabled-user coverage updated.')