54 lines
1.6 KiB
JavaScript
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();
|