test-coverage-report.md 7.4 KB

测试覆盖率报告

生成日期: 2026-06-08 分支: master (rebased on origin/master) 备注: 全部测试通过,当前后端单元测试共计 221 条。新增分佣全流程测试 6 条(推荐码绑定 ×2 + 三级链路 ×1 + B端全链路 ×1 + 跳过场景 ×2),覆盖从注册→付费→佣金分配的完整调用链。

总览

套件 运行 通过 失败 错误 跳过
后端单元测试 215 215 0 0 5
Admin API 测试 6 6 0 0 0
Playwright E2E (admin) 3 3 0 0 0
合计 221 221 0 0 5

后端测试详情

ControllerIntegrationTest(控制层集成测试)

Controller 测试数 覆盖情况
AuthController 6 登录流、Token 鉴权、拦截器
ChartController 6 创建、详情、删除、列表、解读、重新生成
ChatController 2 发送消息、聊天历史
PayController 2 创建订单、回调通知
ProfileController 10 信息、VIP 状态、配额(vip/non-vip)、佣金统计、图表数量、资料完善/更新、分享追踪
CommissionController 3 列表、汇总、统计(含 team 空/非空)
WithdrawController 3 申请、列表、余额
AnnotationController 6 添加、列表、删除、标签增删查
ExportController 4 缺失recordId、非VIP、非所有者、成功导出PDF
PricingController 2 当前定价、升级定价
44

AdminControllerApiTest(管理后台接口测试)

端点 测试数 覆盖情况
管理后台 API 27 配置管理、用户管理、订单管理等
+6 权限拦截、跨域、健康检查、文件不存在等
合计 33

服务层测试

Service 测试数 跳过 覆盖重点
CalculatorServiceTest 16 2 能量盘计算 24 位置
ChartServiceTest 18 0 咨询 CRUD、鉴权
ChatServiceTest 7 0 AI 对话、配额检查
CommissionServiceTest 15 3 佣金列表、汇总、统计仪表盘(日期/团队/转化)
ConfigServiceTest 9 0 配置 CRUD
DifyServiceTest 5 0 Dify API 调用
OrderServiceTest 27 0 订单创建、分佣逻辑全覆盖(B端/C端/超级会员/幂等/跳过/三级链路/升级补差)
UserServiceTest 22 0 登录注册、VIP状态、配额、推广码绑定(含自邀跳过)、referralCode 自动生成
WithdrawServiceTest 7 0 提现申请、列表、余额校验
合计 126 5

分佣金体系测试矩阵

佣金计算分支覆盖

场景 级别 测试方法 验证点
B端固定佣金(能量师 practitioner) L1=¥500, L2=¥100 testPaySuccess_bEndCommission_fixed 固定金额
B端二级链路 L1 + L2 同时产生 testPaySuccess_bEndCommission_level2 两级佣金分配
C端比例佣金(annual, 40%+5%) L1=40%, L2=5% testPaySuccess_cEndCommission_percentages 百分比金额
C端二级链路 L1 + L2 testPaySuccess_cEndCommission_level2 逐级传递
幂等 相同(orderId,level,toUserId) testPaySuccess_idempotency 不重复创建
缺vipType 无产品类型 testPaySuccess_bEnd_noVipType_skipsCommission 跳过
C端半额 annual 续费半价 testPaySuccess_bEnd_cendHalfAmount 金额减半
未知vipType 非标 productType testPaySuccess_bEnd_unknownVipType_skips 跳过
无推广码引荐 C端 inviter.referralCode==null testPaySuccess_cEnd_noReferralCode_skips 跳过
上级无码跳L2 C端上级无 referralCode testPaySuccess_cEnd_upperNoReferralCode_skipsL2 仅L1
超级会员 L1 super_member 30% testPaySuccess_superMemberCommission_l1 百分比
超级会员 L2 5% + 引荐人未付费 testPaySuccess_superMemberCommission_l2 两步链
B端幂等 同订单重复调用 testPaySuccess_bEnd_idempotentCommission 不重复
B端升级补差 practitioner 升级补差价 testPaySuccess_bEndUpgrade_deduction 44760
B端补差归零 已付超默认 L1 testPaySuccess_bEndUpgrade_zeroDeduction 归零

分佣全流程测试(新)

场景 流程 测试方法 验证点
C端三级链路 A(有码)→B→C, B付annual testCommissionFlow_cEnd_threeTier A获L1=5240, C获L2=655
B端全链路 B(能量师)→A, A付practitioner testCommissionFlow_bEnd_fullPipeline B获L1=50000, C获L2=10000
引荐人未付费跳过 上级无referralCode testCommissionFlow_inviterNotPaid_skipsCommission 不产生佣金
自然流量无佣金 buyer无invitedBy testCommissionFlow_naturalFlow_noCommission 不产生佣金
B端升级分阶段 先付annual→升级practitioner testCommissionFlow_bEnd_upgradeDeduction_chain 5240+44760=50000=默认L1, 不超额
推广码注册 用户携码注册 testLoginOrRegister_withReferralCode invitedBy绑定+directCount递增
自邀跳过 用户填自己推广码 testLoginOrRegister_selfReferral_doesNotBind 不绑定+不计directCount

CommissionService 统计

场景 测试方法 验证点
完整仪表盘 testGetStats_fullDashboard 团队人数、直接/间接、佣金汇总、VIP转化统计
无团队 testGetStats_noTeam 各项归零
仅为会员无团队 testGetStats_vipOnly 团队为空
日期过滤 testGetStats_dateFiltering 近7天/30天/本年度
VIP转化统计 testGetStats_vipConversion 转化率、新会员数
今日统计 testGetStats_todayStats 今日新增佣金、团队人数

前端 E2E 测试

测试 状态
管理后台页面加载
核心操作流程
数据展示验证

主题切换修复(v20260608)

页面 修复项 说明
client/pages/commission/index.vue .section 背景 #fff--color-bg-card 卡片不跟主题切换
.section-sub, .comm-amount, .comm-remark, .tool-arrow 硬编码字体颜色 → CSS 变量
状态徽章 .status-settled/pending/available 背景和文字颜色 → 语义变量
client/pages/withdraw/index.vue .input-section, .rules-card 背景 #fff--color-bg-card 卡片不跟主题切换
.hint-link #3B82F6--color-info 链接颜色
.error-text #EF4444--color-danger 错误提示颜色
剩余已知问题 client/pages/profile/ 仍有 #FEF3C7, #E5E7EB, #F9FAFB 等硬编码 需后续处理
client/pages/relations/*.vue 21处 color: #FFFFFF 部分在深色背景上可保留,需逐一确认

已知缺口

区域 问题 优先级
ExportService 无单元测试
client/ 前端小程序 无自动化 E2E 测试(需微信小程序环境)
WxPayService 无单元测试(189行,支付核心) 高 🔴
RelationAnalysisService 新模块,尚无单元测试
CalculatorServiceTest 2个 @Disabled 外部位置测试
CommissionServiceTest 3个 @Disabled 状态流转测试