修改功能
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
const assert = require('node:assert/strict');
|
||||
const test = require('node:test');
|
||||
|
||||
const FeedPages = require('../public/js/feed-pages.js');
|
||||
const LineagePages = require('../public/js/lineage-pages.js');
|
||||
const GrowthPages = require('../public/js/growth-pages.js');
|
||||
const RelativePages = require('../public/js/relative-pages.js');
|
||||
const MemoPages = require('../public/js/memo-pages.js');
|
||||
const MeritPages = require('../public/js/merit-pages.js');
|
||||
const CeremonyPages = require('../public/js/ceremony-admin-pages.js');
|
||||
const PromotionPages = require('../public/js/app-promotion-pages.js');
|
||||
|
||||
function imageFile(name) {
|
||||
return {
|
||||
fileId: '901',
|
||||
ossId: '902',
|
||||
fileName: name,
|
||||
mediaType: 'image/jpeg',
|
||||
accessUrl: `https://files.example/${name}`
|
||||
};
|
||||
}
|
||||
|
||||
test('动态和世系人物使用 mediaFiles/avatarFile', () => {
|
||||
const feed = FeedPages.normalizeFeed({ feedId: '1', feedContent: '祭祖留影', mediaFiles: [imageFile('feed.jpg')] });
|
||||
const person = LineagePages.normalizeLineagePerson({ personId: '2', name: '彭公', avatarFile: imageFile('person.jpg') });
|
||||
const tree = LineagePages.renderLineageTreeHtml([{ personId: '2', name: '彭公', avatarFile: imageFile('person.jpg') }]);
|
||||
|
||||
assert.equal(feed.mediaFiles[0].accessUrl, 'https://files.example/feed.jpg');
|
||||
assert.equal(person.avatarFile.accessUrl, 'https://files.example/person.jpg');
|
||||
assert.match(tree, /<img[^>]+person\.jpg/);
|
||||
assert.doesNotMatch(tree, /902/);
|
||||
});
|
||||
|
||||
test('成长、亲友、备忘和功德详情展示 mediaFiles', () => {
|
||||
const cases = [
|
||||
[GrowthPages, 'normalizeGrowthRecord', 'renderGrowthDetail', { recordId: '1', genealogyId: '2', recordTitle: '入学', status: '0' }],
|
||||
[RelativePages, 'normalizeRelativeRecord', 'renderRelativeDetail', { relativeId: '1', genealogyId: '2', relativeName: '张姨', status: '0' }],
|
||||
[MemoPages, 'normalizeMemo', 'renderMemoDetail', { memoId: '1', genealogyId: '2', memoTitle: '祭祖用品', completed: '0', status: '0' }],
|
||||
[MeritPages, 'normalizeMeritRecord', 'renderMeritDetail', { meritId: '1', genealogyId: '2', donorName: '彭先生', meritType: 'repair', meritTitle: '修缮祠堂', status: '0' }]
|
||||
];
|
||||
|
||||
cases.forEach(([module, normalizeName, renderName, fixture], index) => {
|
||||
const record = module[normalizeName](Object.assign({}, fixture, { mediaFiles: [imageFile(`record-${index}.jpg`)] }));
|
||||
const html = module[renderName](record);
|
||||
assert.match(html, new RegExp(`<img[^>]+record-${index}\\.jpg`));
|
||||
assert.doesNotMatch(html, /902/);
|
||||
});
|
||||
});
|
||||
|
||||
test('祭祀活动与应用推广展示 coverFile', () => {
|
||||
const ceremony = CeremonyPages.normalizeCeremony({
|
||||
ceremonyId: '1', genealogyId: '2', ceremonyType: '祭祖', ceremonyTitle: '清明祭祖', status: '0',
|
||||
coverFile: imageFile('ceremony.jpg')
|
||||
});
|
||||
const promotion = PromotionPages.normalizePromotion({
|
||||
promotionId: '3', promotionTitle: '家谱移动端', promotionDesc: '随时查看家谱', status: '0',
|
||||
coverFile: imageFile('promotion.jpg')
|
||||
});
|
||||
|
||||
assert.match(CeremonyPages.renderCeremonyDetail(ceremony), /<img[^>]+ceremony\.jpg/);
|
||||
assert.equal(promotion.coverFile.accessUrl, 'https://files.example/promotion.jpg');
|
||||
assert.match(PromotionPages.renderPromotionList([{
|
||||
promotionId: '3', promotionTitle: '家谱移动端', promotionDesc: '随时查看家谱', status: '0',
|
||||
coverFile: imageFile('promotion.jpg')
|
||||
}]), /<img[^>]+promotion\.jpg/);
|
||||
});
|
||||
Reference in New Issue
Block a user