Files
jiapu/tests/promotion-pages.test.js
T
2026-07-09 17:30:10 +08:00

54 lines
1.6 KiB
JavaScript

const assert = require('assert');
const PromotionPages = require('../public/js/promotion-pages.js');
function run() {
const promotions = [
{
promotionId: 11,
promotionTitle: '平台公告',
promotionContent: '<p>公开展示规范</p>',
summary: '保护家族资料安全',
coverUrl: 'cover.jpg',
linkUrl: 'download.html',
publishTime: '2026-07-09'
}
];
assert.deepStrictEqual(PromotionPages.normalizeList({ rows: promotions }), promotions);
assert.deepStrictEqual(PromotionPages.normalizeList({ records: promotions }), promotions);
assert.strictEqual(
PromotionPages.buildPromotionCard(promotions[0]),
'<a class="promotion-card" href="download.html" data-promotion-id="11"><img src="cover.jpg" alt="平台公告" /><div><h3>平台公告</h3><p>保护家族资料安全</p><span>2026-07-09</span></div></a>'
);
assert.strictEqual(
PromotionPages.buildDownloadCard({
promotionId: 12,
title: 'Android 安装包',
description: '适用于安卓手机',
linkUrl: 'https://example.test/app.apk'
}),
'<a class="card soft download-card tilt-card" href="https://example.test/app.apk" data-promotion-id="12"><h3>Android 安装包</h3><p>适用于安卓手机</p></a>'
);
assert.deepStrictEqual(
PromotionPages.pickPromotion(promotions, '11'),
promotions[0]
);
assert.deepStrictEqual(
PromotionPages.buildNoticeDetail(promotions[0]),
{
title: '平台公告',
summary: '保护家族资料安全',
content: '<p>公开展示规范</p>',
time: '2026-07-09'
}
);
console.log('promotion-pages tests passed');
}
run();