Files
memind/mindspace-asset-agent.test.mjs
john 722b18326f feat(mindspace): 0630004 空间 UI、聊天连接、微信分享与 Agent 能力
含 MindSpace 三列布局与统计修复、聊天加载态与连接降级、平台页脚标记与 og:site_name 微信卡片、勾选资料删除 Agent 接口及内部话术过滤。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 18:08:06 +08:00

50 lines
1.5 KiB
JavaScript

import assert from 'node:assert/strict';
import test from 'node:test';
import {
buildSelectedAssetDeleteInstructions,
createAssetAgentService,
} from './mindspace-asset-agent.mjs';
test('buildSelectedAssetDeleteInstructions includes agent delete curl', () => {
const lines = buildSelectedAssetDeleteInstructions({
selectedAssets: [
{
id: 'asset-9',
displayName: 'sales.xlsx',
mimeType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
},
],
h5ApiBase: 'http://127.0.0.1:8081',
agentSessionId: 'session-1',
});
const text = lines.join('\n');
assert.match(text, /完整读写删改权限/);
assert.match(text, /mindspace_asset_delete/);
assert.match(text, /asset-9/);
assert.match(text, /session-1/);
assert.match(text, /不要让用户自己去界面点删除/);
});
test('applyAgentDelete requires confirmation and valid session', async () => {
const service = createAssetAgentService({
assetService: {
deleteAsset: async () => ({ deleted: true }),
},
resolveUserIdForAgentSession: async (sessionId) =>
sessionId === 'session-1' ? 'user-1' : null,
});
await assert.rejects(
() => service.applyAgentDelete({ session_id: 'session-1', asset_id: 'asset-9' }),
(error) => error.code === 'confirmation_required',
);
const result = await service.applyAgentDelete({
session_id: 'session-1',
asset_id: 'asset-9',
confirmed: true,
});
assert.equal(result.deleted, true);
assert.equal(result.userId, 'user-1');
});