66 行
2.8 KiB
JavaScript
66 行
2.8 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. 验证 pages/index/user.vue
|
||
const userVuePath = path.resolve(__dirname, '../uniapp/pages/index/user.vue');
|
||
assert(fs.existsSync(userVuePath), 'user.vue 文件存在');
|
||
const userVueContent = fs.readFileSync(userVuePath, 'utf-8');
|
||
|
||
assert(
|
||
userVueContent.includes('walletCard') && (userVueContent.includes('layoutBlocks') || userVueContent.includes('walletBlock')),
|
||
'user.vue 中包含 walletCard 资产卡片的保底注入机制',
|
||
'未在 user.vue 中检测到 walletCard 逻辑'
|
||
);
|
||
|
||
assert(
|
||
!userVueContent.includes('v-for="(item, index) in template.data"'),
|
||
'user.vue 模板遍历已升级为支持动态补充资产卡片的 blocks 计算列表',
|
||
'仍直接遍历未补充 walletCard 的 template.data'
|
||
);
|
||
|
||
// 2. 验证 sheep/components/s-wallet-card/s-wallet-card.vue
|
||
const walletCardPath = path.resolve(__dirname, '../uniapp/sheep/components/s-wallet-card/s-wallet-card.vue');
|
||
assert(fs.existsSync(walletCardPath), 's-wallet-card.vue 文件存在');
|
||
const walletCardContent = fs.readFileSync(walletCardPath, 'utf-8');
|
||
|
||
assert(
|
||
walletCardContent.includes('userInfo.money') && walletCardContent.includes('/pages/user/wallet/money') && (walletCardContent.includes('余额') || walletCardContent.includes('账户余额')),
|
||
's-wallet-card.vue 包含余额项、正确数据绑定与跳转路由',
|
||
'缺少余额配置或路由不正确'
|
||
);
|
||
|
||
assert(
|
||
walletCardContent.includes('displayMadow') && walletCardContent.includes('/pages/commission/madow') && walletCardContent.includes('dmepa'),
|
||
's-wallet-card.vue 包含dmepa项、正确数据绑定与跳转路由',
|
||
'缺少dmepa配置或路由不正确'
|
||
);
|
||
|
||
assert(
|
||
walletCardContent.includes('voucher_available') && walletCardContent.includes('/pages/commission/voucher') && (walletCardContent.includes('兑换券') || walletCardContent.includes('兑换卷')),
|
||
's-wallet-card.vue 包含兑换券(卷)项、正确数据绑定与跳转路由',
|
||
'缺少兑换券配置或路由不正确'
|
||
);
|
||
|
||
console.log("\n--------------------------------------------------------");
|
||
console.log(`测试执行结果: 通过 ${passed} 项, 失败 ${failed} 项`);
|
||
console.log("========================================================");
|
||
|
||
process.exit(failed === 0 ? 0 : 1);
|