FINAL-PAYMENT-TRACKING-TEST-GUIDE.md 7.7 KB

待跟进尾款项目功能测试指南

🧪 测试准备

前置条件

  1. 至少有一个项目处于售后归档阶段(currentStage: "售后归档" / "aftercare")
  2. 该项目有订单报价总额(project.data.quotation.total
  3. 该项目有部分付款记录(ProjectPayment),但未全部付清

测试数据准备

1. 创建测试项目

// 在 Parse Dashboard 或通过代码创建
const project = new Parse.Object('Project');
project.set('title', '测试项目-待跟进尾款');
project.set('currentStage', '售后归档');
project.set('company', companyPointer);
project.set('data', {
  quotation: {
    total: 50000 // 订单总额 5 万元
  }
});
project.set('contact', contactPointer);
await project.save();

2. 创建付款记录

// 预付款 30%
const payment1 = new Parse.Object('ProjectPayment');
payment1.set('project', projectPointer);
payment1.set('type', 'advance');
payment1.set('amount', 15000);
payment1.set('status', 'paid'); // 已支付
payment1.set('paymentDate', new Date('2024-11-01'));
await payment1.save();

// 尾款 70% - 未支付
const payment2 = new Parse.Object('ProjectPayment');
payment2.set('project', projectPointer);
payment2.set('type', 'final');
payment2.set('amount', 35000);
payment2.set('status', 'pending'); // 待支付
payment2.set('dueDate', new Date('2024-12-01')); // 应付日期
await payment2.save();

📋 测试用例

用例 1:基本数据加载

测试步骤:

  1. 打开客服工作台页面
  2. 观察控制台输出

预期结果:

🔍 开始加载待跟进尾款项目...
📊 找到 X 个售后阶段项目
📋 项目 测试项目-待跟进尾款: 订单总额=¥50000, 已付=¥15000, 剩余=¥35000
✅ 添加待跟进项目: 测试项目-待跟进尾款, 剩余¥35000, 状态=待付款
✅ 待跟进尾款项目加载完成: 1 个项目(售后归档阶段)

验证点:

  • ✅ 项目正确显示在列表中
  • ✅ 剩余金额计算正确(50000 - 15000 = 35000)
  • ✅ 状态显示为"待付款"

用例 2:逾期项目显示

测试步骤:

  1. 修改尾款的 dueDate 为过去的日期(如:2024-10-01
  2. 刷新页面

预期结果:

  • 项目状态显示为 🔴 已逾期
  • 显示逾期天数(如:逾期40天)
  • 卡片背景变为红白渐变
  • 状态标签带脉动动画
  • 该项目排在列表最前面

验证点:

  • ✅ 逾期状态正确
  • ✅ 逾期天数计算准确
  • ✅ 视觉样式符合设计
  • ✅ 排序位置优先

用例 3:待创建尾款记录

测试步骤:

  1. 删除所有 type: 'final' 的尾款记录
  2. 保持订单总额和预付款记录不变
  3. 刷新页面

预期结果:

  • 项目状态显示为 🟠 待创建
  • 卡片背景变为橙白渐变
  • 仍然显示剩余金额

验证点:

  • ✅ 状态正确识别
  • ✅ 金额计算不受影响
  • ✅ 视觉样式正确

用例 4:付款进度条

测试步骤:

  1. 观察项目卡片中的进度条

预期结果:

  • 进度条显示:付款进度 30%(15000/50000)
  • 进度条颜色为蓝色渐变
  • hover 时有光泽动画扫过

验证点:

  • ✅ 百分比计算正确
  • ✅ 进度条宽度正确
  • ✅ 动画效果流畅

用例 5:多项目排序

测试数据:

  • 项目 A:逾期 30 天,剩余 ¥20000
  • 项目 B:逾期 10 天,剩余 ¥30000
  • 项目 C:未逾期,剩余 ¥15000
  • 项目 D:待创建,剩余 ¥25000

预期结果排序:

  1. 项目 A(逾期 30 天)
  2. 项目 B(逾期 10 天)
  3. 项目 C 或 D(按更新时间)

验证点:

  • ✅ 逾期项目排在前面
  • ✅ 逾期天数越长越靠前
  • ✅ 其他项目正常排序

用例 6:开始跟进功能

测试步骤:

  1. 点击某个项目的"开始跟进"按钮
  2. 观察控制台输出和页面跳转

预期结果:

🎯 开始跟进项目 xxx 的尾款
✅ 跟进记录已保存
  • 跳转到项目详情页
  • URL 包含 ?stage=aftercare&focus=payment
  • ActivityLog 表中新增一条记录:
    • action: "尾款跟进"
    • description: "客服开始跟进尾款:剩余金额 ¥35000"
    • type: "payment_followup"

验证点:

  • ✅ 跳转成功
  • ✅ 日志记录正确
  • ✅ 页面定位正确

用例 7:查看详情功能

测试步骤:

  1. 点击某个项目的"查看详情"按钮

预期结果:

📂 查看项目详情: xxx
  • 跳转到项目详情页
  • URL 为 /project/detail/{projectId}

验证点:

  • ✅ 跳转成功
  • ✅ 项目信息正确显示

用例 8:小额零头过滤

测试步骤:

  1. 创建一个项目:
    • 订单总额:¥10000
    • 已付款:¥9950
    • 剩余:¥50
  2. 刷新页面

预期结果:

  • 该项目不显示在列表中
  • 控制台日志显示剩余金额小于阈值

验证点:

  • ✅ 小额项目被正确过滤
  • ✅ 其他项目不受影响

用例 9:空状态显示

测试步骤:

  1. 确保没有任何符合条件的项目
  2. 打开客服工作台

预期结果:

  • 显示空状态图标和文字:"暂无待跟进尾款项目"
  • 统计显示:"0 个项目待跟进"

验证点:

  • ✅ 空状态友好显示
  • ✅ 不出现错误

用例 10:全额支付项目过滤

测试步骤:

  1. 创建一个项目并支付全款:
    • 订单总额:¥10000
    • 已付款:¥10000
    • 剩余:¥0
  2. 刷新页面

预期结果:

  • 该项目不显示在列表中
  • 控制台显示剩余金额为 0,不加入列表

验证点:

  • ✅ 已完全支付的项目被正确过滤
  • ✅ 统计数字准确

🐛 常见问题排查

问题 1:项目不显示

检查项:

  1. 项目的 currentStage 是否包含"售后归档"相关阶段
  2. 项目是否有 data.quotation.total 字段
  3. 剩余金额是否 > ¥100
  4. 项目是否被标记为 isDeleted: true

问题 2:金额计算错误

检查项:

  1. 查看控制台日志,确认读取的 quotation.total
  2. 查询 ProjectPayment 表,确认所有付款记录
  3. 确认 status: 'paid' 的记录是否正确

问题 3:状态显示错误

检查项:

  1. 检查尾款记录的 type 是否为 'final'
  2. 检查 dueDate 是否正确设置
  3. 检查 status 字段(paid/pending)

问题 4:排序不正确

检查项:

  1. 确认逾期项目的 dueDate 小于当前时间
  2. 检查控制台日志中的排序信息
  3. 验证 overdueDay 计算是否正确

📊 测试数据示例

理想的测试场景

// 场景 1:正常待付款
Project 1: 
  - 总额: ¥50000
  - 已付: ¥30000 (预付款 60%)
  - 剩余: ¥20000
  - 尾款应付日期: 2024-12-31
  - 状态: 待付款

// 场景 2:逾期严重
Project 2:
  - 总额: ¥100000
  - 已付: ¥30000 (预付款 30%)
  - 剩余: ¥70000
  - 尾款应付日期: 2024-10-01 (已逾期)
  - 状态: 已逾期 (逾期40天)

// 场景 3:待创建尾款
Project 3:
  - 总额: ¥80000
  - 已付: ¥40000 (预付款 50%)
  - 剩余: ¥40000
  - 无尾款记录
  - 状态: 待创建

// 场景 4:接近完款
Project 4:
  - 总额: ¥60000
  - 已付: ¥55000
  - 剩余: ¥5000
  - 尾款应付日期: 2024-11-25
  - 状态: 待付款

✅ 测试通过标准

  1. ✅ 所有售后阶段且有剩余款项的项目都能正确显示
  2. ✅ 金额计算准确无误
  3. ✅ 状态判断逻辑正确
  4. ✅ 排序规则符合预期
  5. ✅ 交互功能正常工作
  6. ✅ 控制台日志清晰详细
  7. ✅ UI 样式美观流畅
  8. ✅ 边界情况处理得当
  9. ✅ 性能表现良好(查询速度快)
  10. ✅ 无控制台错误或警告

🚀 下一步建议

测试通过后,可以考虑以下增强:

  1. 添加手动刷新按钮
  2. 支持导出待跟进项目列表
  3. 添加批量跟进功能
  4. 集成消息提醒功能
  5. 添加统计图表(按逾期天数分布等)