75 行
2.6 KiB
JavaScript
75 行
2.6 KiB
JavaScript
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
let passed = 0;
|
|
let failed = 0;
|
|
|
|
function assert(condition, testName, detail = '') {
|
|
if (condition) {
|
|
console.log(` [PASS] ${testName}`);
|
|
passed++;
|
|
} else {
|
|
console.error(` [FAIL] ${testName} - ${detail}`);
|
|
failed++;
|
|
}
|
|
}
|
|
|
|
console.log("========================================================");
|
|
console.log(" 兑换券页面对齐dmepa页面规格与黑金卡片交互测试");
|
|
console.log("========================================================\n");
|
|
|
|
// 1. 验证 voucher.vue 存在性
|
|
const voucherVuePath = path.resolve(__dirname, '../uniapp/pages/commission/voucher.vue');
|
|
assert(fs.existsSync(voucherVuePath), 'voucher.vue 文件存在');
|
|
const content = fs.readFileSync(voucherVuePath, 'utf-8');
|
|
|
|
// 2. 验证黑金尊享卡片结构对齐
|
|
assert(
|
|
content.includes('asset-card') && content.includes('madow-hero') || content.includes('voucher-hero'),
|
|
'包含黑金资产大卡片与核心大字数展示结构',
|
|
'未包含类似 madow.vue 的黑金尊享卡片'
|
|
);
|
|
|
|
// 3. 验证 4 项核心数据指标完整对齐
|
|
assert(
|
|
content.includes('voucher_total') &&
|
|
content.includes('voucher_released') &&
|
|
content.includes('voucher_used') &&
|
|
content.includes('voucher_available'),
|
|
'包含累计获得、已释放、已使用、可用兑换券 4 项核心指标完整绑定',
|
|
'缺少核心兑换券指标'
|
|
);
|
|
|
|
// 4. 验证胶囊指示栏与规则弹窗
|
|
assert(
|
|
content.includes('su-popup') && content.includes('showHelp') && content.includes('释放规则'),
|
|
'包含释放规则按钮与 su-popup 规则说明弹窗',
|
|
'缺少规则弹窗交互'
|
|
);
|
|
|
|
// 5. 验证订单卡片流与进度展示
|
|
assert(
|
|
content.includes('log-card') || content.includes('plan-card'),
|
|
'订单释放计划升级为卡片流形式',
|
|
'仍为旧版普通边框单列表'
|
|
);
|
|
|
|
assert(
|
|
content.includes('released_days') || content.includes('total_days') || content.includes('planProgress'),
|
|
'卡片流中计算并展示释放天数与线性进度条',
|
|
'缺少释放天数或进度条'
|
|
);
|
|
|
|
// 6. 验证快捷兑换入口
|
|
assert(
|
|
content.includes('/pages/index/index') || content.includes('/pages/goods/list') || content.includes('去兑换'),
|
|
'提供前往商城的兑换引导入口',
|
|
'缺少商城引导'
|
|
);
|
|
|
|
console.log("\n--------------------------------------------------------");
|
|
console.log(`测试执行结果: 通过 ${passed} 项, 失败 ${failed} 项`);
|
|
console.log("========================================================");
|
|
|
|
process.exit(failed === 0 ? 0 : 1);
|