35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { extractText } from '@/pages/Chat/message-utils';
|
|
|
|
describe('chat message display cleanup', () => {
|
|
it('removes Feishu channel metadata prefix but keeps user text', () => {
|
|
const content = [
|
|
'System: [2026-04-27 11:20:03 GMT+8] Feishu[default] DM | ou_256bec6880a8c77271bc610c5e42fe89 [msg:om_x100b51d910e2e0f0c3b6494c6bf8a9c]',
|
|
'',
|
|
'喂',
|
|
].join('\n');
|
|
|
|
expect(extractText({ role: 'user', content })).toBe('喂');
|
|
});
|
|
|
|
it('removes pure Feishu channel metadata from user display text', () => {
|
|
const content = 'System: [2026-04-27 11:20:03 GMT+8] Feishu[default] DM | ou_256bec6880a8c77271bc610c5e42fe89 [msg:om_x100b51d910e2e0f0c3b6494c6bf8a9c]';
|
|
|
|
expect(extractText({ role: 'user', content })).toBe('');
|
|
});
|
|
|
|
it('hides injected knowledge context from user display text', () => {
|
|
const content = [
|
|
'帮我总结一下这份资料',
|
|
'',
|
|
'[知识库上下文]',
|
|
'用户已选择在本轮对话中使用当前组织空间知识库。',
|
|
'',
|
|
'## 内部资料.docx',
|
|
'这是一段不应该出现在用户气泡里的知识库正文。',
|
|
].join('\n');
|
|
|
|
expect(extractText({ role: 'user', content })).toBe('帮我总结一下这份资料');
|
|
});
|
|
});
|