const assert = require('node:assert/strict'); const test = require('node:test'); const FeedPages = require('../public/js/feed-pages.js'); test('动态表单只构造最新文档定义的 FamilyFeedBody 字段', () => { assert.deepEqual( FeedPages.buildFeedBody({ feedContent: '今天上传一张老照片。', mediaOssIds: '101,102', status: '0', visibility: '2' }), { feedType: 'text', feedContent: '今天上传一张老照片。', mediaOssIds: '101,102', status: '0' } ); }); test('动态页只从 URL 读取真实家谱和动态编号', () => { assert.equal(FeedPages.getCurrentGenealogyId('?genealogyId=900001001'), '900001001'); assert.equal(FeedPages.getCurrentGenealogyId(''), ''); assert.equal(FeedPages.getCurrentFeedId('?feedId=7001'), '7001'); }); test('动态列表要求服务端返回 feedId 和 feedContent', () => { assert.deepEqual(FeedPages.normalizeFeed({ feedId: 7001, feedContent: '家谱动态' }), { feedId: '7001', feedContent: '家谱动态' }); assert.equal(FeedPages.normalizeFeed({ feedId: 7001, content: '旧字段' }), null); }); test('评论请求只提交 Apifox 定义的 commentContent 和父评论 ID', () => { assert.deepEqual(FeedPages.buildCommentBody({ commentContent: '收到', parentCommentId: '2060000000000000000', replyUserId: '2060000000000000001' }), { commentContent: '收到', parentCommentId: '2060000000000000000' }); }); test('评论响应使用 commentContent,并保留已删除评论的占位状态', () => { assert.deepEqual(FeedPages.normalizeComment({ commentId: '2060000000000000000', commentContent: '收到', appUserNickName: '小李', replyCount: 2, userDeleted: '0' }), { commentId: '2060000000000000000', commentContent: '收到', appUserNickName: '小李', replyCount: 2, userDeleted: false }); assert.deepEqual(FeedPages.normalizeComment({ commentId: '2060000000000000001', commentContent: null, userDeleted: '1' }), { commentId: '2060000000000000001', commentContent: '该评论已删除', appUserNickName: undefined, replyCount: undefined, userDeleted: true }); });