财务管理按达人支付功能测试指南

测试以达人为维度的支付管理功能

快速开始

核心功能测试

1 待支付佣金显示测试

✓ 每个达人卡片显示5项统计(已提交、已完成、待支付佣金、已支付、已支付佣金)

✓ 待支付佣金用红色显示

✓ 待支付佣金 = 已完成但未支付的任务佣金之和

✓ 有待支付佣金的达人显示"标记支付"按钮

✓ 无待支付佣金的达人不显示"标记支付"按钮

2 按达人支付测试

✓ 点击某个达人的"标记支付"按钮

✓ 模态框标题显示:标记支付 - 达人名称

✓ 任务列表只显示该达人的任务

✓ 表头不显示"达人"列(因为都是同一个达人)

✓ 筛选工具栏只有状态筛选和搜索(无达人筛选)

3 支付凭证上传测试

✓ 模态框底部显示"支付凭证(可选)"区域

✓ 点击"选择文件"可以选择图片或PDF

✓ 选择文件后显示文件名

✓ 显示"×"按钮可以清除选择

✓ 不上传凭证也可以标记支付

✓ 上传凭证后,确认对话框显示凭证文件名

4 任务选择和筛选测试

✓ 按状态筛选(全部/待服务商审核/待客户审核/已完成)

✓ 搜索功能(任务ID、产品名称、客户名称)

✓ 逐个勾选任务

✓ 点击"全选"选中所有可支付任务

✓ 点击"取消全选"清除所有选择

✓ 已完成且未支付的任务可以勾选

✓ 已支付或未完成的任务自动置灰不可勾选

5 支付确认和数据更新测试

✓ 右上角实时显示已选择任务数和总佣金

✓ 未选择任务时"确认标记支付"按钮禁用

✓ 选择任务后按钮启用

✓ 点击确认显示确认对话框(达人、任务数、总佣金、凭证)

✓ 确认后显示成功提示

✓ 模态框自动关闭

✓ 达人卡片的待支付佣金减少

✓ 达人卡片的已支付任务数和已支付佣金增加

✓ 顶部统计数据更新

✓ 已支付任务不可再次标记

边界情况测试

测试1:所有任务都已支付的达人不显示"标记支付"按钮
测试2:未选择任务时点击确认按钮(应该被禁用)
测试3:在确认对话框点击取消,任务不应被标记
测试4:筛选后没有任务时显示空状态
测试5:关闭模态框后重新打开,选择状态应该重置

测试清单

达人卡片

支付模态框

任务操作

数据验证

数据验证脚本

在浏览器控制台执行以下脚本验证数据完整性:

// 验证支付数据
const tasks = JSON.parse(localStorage.getItem('tasks') || '[]');
const creators = JSON.parse(localStorage.getItem('creatorApplications') || '[]');

// 按达人统计
const creatorStats = {};
creators.forEach(creator => {
  const creatorTasks = tasks.filter(t => t.creatorId == creator.id);
  const completedTasks = creatorTasks.filter(t => t.status === 'approved');
  const paidTasks = completedTasks.filter(t => t.isPaid);
  const pendingTasks = completedTasks.filter(t => !t.isPaid);
  
  const paidCommission = paidTasks.reduce((sum, t) => sum + (t.pricePerVideo || 0), 0);
  const pendingCommission = pendingTasks.reduce((sum, t) => sum + (t.pricePerVideo || 0), 0);
  
  creatorStats[creator.name] = {
    已完成: completedTasks.length,
    已支付: paidTasks.length,
    待支付: pendingTasks.length,
    已支付佣金: paidCommission.toFixed(2),
    待支付佣金: pendingCommission.toFixed(2)
  };
});

console.table(creatorStats);