qia/docs/test-cases-reminder-menu.md
ddshi 704c6f300b fix: 修复右键菜单架构审核问题
- handlePostpone 增加 next_reminder_date 同步逻辑
- 使用 selector 优化 Zustand 订阅性能
- 添加点击外部关闭菜单机制
- ReminderCard 添加 data-reminder-card 属性

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 17:03:17 +08:00

788 lines
31 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 提醒卡片右键菜单测试用例
## 用例统计
| 分类 | 用例数 | P0 | P1 | P2 |
|------|--------|----|----|----|
| 右键菜单基础功能 | 8 | 4 | 3 | 1 |
| 日期调整功能 | 10 | 5 | 4 | 1 |
| 优先级功能 | 13 | 5 | 5 | 3 |
| 操作功能 | 6 | 3 | 2 | 1 |
| UI样式验证 | 5 | 1 | 2 | 2 |
| **合计** | **42** | **18** | **16** | **8** |
---
## 一、右键菜单基础功能
### TC-RM-001 右键点击显示菜单
| 项目 | 内容 |
|------|------|
| **用例标题** | 右键点击提醒卡片显示右键菜单 |
| **测试场景** | 用户在提醒卡片上点击鼠标右键,验证菜单正常显示 |
| **前置条件** | 1. 用户已登录<br>2. 提醒列表中存在至少一条提醒 |
| **测试步骤** | 1. 进入提醒列表页面<br>2. 将鼠标悬停在任意提醒卡片上<br>3. 点击鼠标右键 |
| **预期结果** | 1. 右键菜单在鼠标点击位置显示<br>2. 菜单包含三个功能区域:日期调整、优先级、操作<br>3. 菜单样式正常,无遮挡或截断 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-002 左键点击其他区域关闭菜单
| 项目 | 内容 |
|------|------|
| **用例标题** | 左键点击菜单外部区域关闭菜单 |
| **测试场景** | 右键菜单打开后,点击其他区域验证菜单关闭 |
| **前置条件** | 1. 用户已登录<br>2. 提醒列表中存在至少一条提醒<br>3. 右键菜单已打开 |
| **测试步骤** | 1. 右键点击卡片打开菜单<br>2. 在菜单外的任意位置点击鼠标左键 |
| **预期结果** | 右键菜单立即关闭,界面恢复正常状态 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-003 点击菜单项后关闭菜单
| 项目 | 内容 |
|------|------|
| **用例标题** | 点击任意菜单项后菜单自动关闭 |
| **测试场景** | 点击菜单中的任意选项后验证菜单是否正确关闭 |
| **前置条件** | 1. 用户已登录<br>2. 提醒列表中存在至少一条提醒<br>3. 右键菜单已打开 |
| **测试步骤** | 1. 右键点击卡片打开菜单<br>2. 点击任意菜单项(如"今日" |
| **预期结果** | 1. 菜单项点击事件触发<br>2. 右键菜单自动关闭 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-004 ESC键关闭菜单
| 项目 | 内容 |
|------|------|
| **用例标题** | 按ESC键关闭右键菜单 |
| **测试场景** | 右键菜单打开后按键盘ESC键验证菜单关闭 |
| **前置条件** | 1. 用户已登录<br>2. 提醒列表中存在至少一条提醒<br>3. 右键菜单已打开 |
| **测试步骤** | 1. 右键点击卡片打开菜单<br>2. 按下键盘ESC键 |
| **预期结果** | 右键菜单立即关闭 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-005 菜单位置计算正确
| 项目 | 内容 |
|------|------|
| **用例标题** | 右键菜单在点击位置正确显示 |
| **测试场景** | 在不同位置点击右键,验证菜单位置计算 |
| **前置条件** | 1. 用户已登录<br>2. 提醒列表中存在至少一条提醒 |
| **测试步骤** | 1. 在页面不同位置右键点击多个卡片<br>2. 记录每次菜单显示位置 |
| **预期结果** | 1. 菜单左上角与鼠标点击位置重合<br>2. 菜单不超出浏览器可视区域 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-006 连续右键点击不同卡片
| 项目 | 内容 |
|------|------|
| **用例标题** | 连续右键点击不同卡片时菜单切换 |
| **测试场景** | 快速连续右键点击多个卡片 |
| **前置条件** | 1. 用户已登录<br>2. 提醒列表中存在至少三条提醒 |
| **测试步骤** | 1. 右键点击第一张卡片打开菜单<br>2. 不关闭菜单,右键点击第二张卡片<br>3. 不关闭菜单,右键点击第三张卡片 |
| **预期结果** | 1. 菜单始终显示在最新点击的卡片位置<br>2. 不会出现多个菜单同时显示 |
| **优先级** | P2 |
| **状态** | 待测试 |
---
## 二、日期调整功能
### TC-RM-007 调整到今日
| 项目 | 内容 |
|------|------|
| **用例标题** | 日期调整-今日功能验证 |
| **测试场景** | 使用右键菜单将提醒日期调整到今天 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条非今日的提醒(如明天或更久之后的提醒) |
| **测试步骤** | 1. 右键点击一条非今日的提醒卡片<br>2. 点击"日期调整"区域的"今日"选项 |
| **预期结果** | 1. 菜单关闭<br>2. 提醒移动到"今天"分组<br>3. 卡片上显示的日期更新为今天的日期<br>4. 数据持久化到后端 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-008 调整到明日
| 项目 | 内容 |
|------|------|
| **用例标题** | 日期调整-明天功能验证 |
| **测试场景** | 使用右键菜单将提醒日期调整到明天 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条今天或更久的提醒 |
| **测试步骤** | 1. 右键点击一条非明日的提醒卡片<br>2. 点击"日期调整"区域的"明天"选项 |
| **预期结果** | 1. 菜单关闭<br>2. 提醒移动到"明天"分组<br>3. 卡片上显示的日期更新为明天的日期<br>4. 数据持久化到后端 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-009 调整到一周后
| 项目 | 内容 |
|------|------|
| **用例标题** | 日期调整-一周后功能验证 |
| **测试场景** | 使用右键菜单将提醒日期调整到7天后 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条今天或明天的提醒 |
| **测试步骤** | 1. 右键点击一条提醒卡片<br>2. 点击"日期调整"区域的"一周后"选项 |
| **预期结果** | 1. 菜单关闭<br>2. 提醒移动到"更久之后"分组<br>3. 卡片上显示的日期更新为7天后的日期<br>4. 数据持久化到后端 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-010 跨分组移动验证
| 项目 | 内容 |
|------|------|
| **用例标题** | 日期调整后卡片正确移动到目标分组 |
| **测试场景** | 验证日期调整后卡片在分组间的移动逻辑 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条明天分组的提醒 |
| **测试步骤** | 1. 确认提醒在"明天"分组<br>2. 右键点击该提醒<br>3. 选择"今日" |
| **预期结果** | 1. 提醒从"明天"分组消失<br>2. 提醒出现在"今天"分组<br>3. 分组计数正确更新 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-011 日期时间保留验证
| 项目 | 内容 |
|------|------|
| **用例标题** | 日期调整时保留原有时间 |
| **测试场景** | 调整日期时验证时间分量是否保留 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条带具体时间如14:30的提醒 |
| **测试步骤** | 1. 记录提醒的原始时间如2月5日 14:30<br>2. 右键点击该提醒<br>3. 选择"明日" |
| **预期结果** | 1. 提醒日期更新到明天<br>2. 时间保留为14:30显示为2月6日 14:30 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-012 逾期提醒日期调整
| 项目 | 内容 |
|------|------|
| **用例标题** | 逾期提醒日期调整功能验证 |
| **测试场景** | 对已过期的提醒进行日期调整 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条已过期的提醒(在"已错过"分组中) |
| **测试步骤** | 1. 进入"已错过"分组<br>2. 右键点击一条逾期提醒<br>3. 选择"今日" |
| **预期结果** | 1. 菜单关闭<br>2. 提醒从"已错过"分组移除<br>3. 提醒出现在"今天"分组<br>4. 卡片样式恢复正常(非红色高亮) |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-013 重复提醒日期调整
| 项目 | 内容 |
|------|------|
| **用例标题** | 重复提醒日期调整功能验证 |
| **测试场景** | 对带重复属性的提醒进行日期调整 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条重复提醒(如每天重复) |
| **测试步骤** | 1. 确认卡片上显示循环图标<br>2. 右键点击该提醒<br>3. 选择"明日" |
| **预期结果** | 1. 菜单关闭<br>2. 提醒移动到明天分组<br>3. 循环图标保留<br>4. 重复属性不受影响 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-014 边界情况-月末日期调整
| 项目 | 内容 |
|------|------|
| **用例标题** | 月末日期调整边界测试 |
| **测试场景** | 在月末附近进行日期调整,验证跨月计算 |
| **前置条件** | 1. 用户已登录<br>2. 当前日期在月末如1月30日、1月31日<br>3. 存在一条提醒 |
| **测试步骤** | 1. 右键点击任意提醒<br>2. 选择"一周后" |
| **预期结果** | 1. 正确计算7天后的日期<br>2. 跨月时月份正确递增<br>3. 日期显示正确如1月31日+7天=2月7日 |
| **优先级** | P2 |
| **状态** | 待测试 |
---
## 三、优先级功能
### TC-RM-015 设置默认优先级
| 项目 | 内容 |
|------|------|
| **用例标题** | 优先级设置-默认 |
| **测试场景** | 将提醒优先级设置为默认状态 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 右键点击提醒卡片<br>2. 点击"优先级"区域的"默认"选项 |
| **预期结果** | 1. 菜单关闭<br>2. 优先级更新为 none<br>3. checkbox边框恢复默认样式rgba(0,0,0,0.15)1px<br>4. 优先级名称显示为"默认"<br>5. 数据持久化 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-016 设置红色优先级
| 项目 | 内容 |
|------|------|
| **用例标题** | 优先级设置-红色 |
| **测试场景** | 将提醒优先级设置为红色 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 右键点击提醒卡片<br>2. 点击"优先级"区域的"红色"选项 |
| **预期结果** | 1. 菜单关闭<br>2. 优先级更新为 red<br>3. checkbox边框变为红色2px<br>4. 数据持久化 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-017 设置绿色优先级
| 项目 | 内容 |
|------|------|
| **用例标题** | 优先级设置-绿色 |
| **测试场景** | 将提醒优先级设置为绿色 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 右键点击提醒卡片<br>2. 点击"优先级"区域的"绿色"选项 |
| **预期结果** | 1. 菜单关闭<br>2. 优先级更新为 green<br>3. checkbox边框变为绿色2px<br>4. 数据持久化 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-018 设置黄色优先级
| 项目 | 内容 |
|------|------|
| **用例标题** | 优先级设置-黄色 |
| **测试场景** | 将提醒优先级设置为黄色 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 右键点击提醒卡片<br>2. 点击"优先级"区域的"黄色"选项 |
| **预期结果** | 1. 菜单关闭<br>2. 优先级更新为 yellow<br>3. checkbox边框变为黄色2px<br>4. 数据持久化 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-019 优先级切换验证
| 项目 | 内容 |
|------|------|
| **用例标题** | 优先级状态切换功能验证 |
| **测试场景** | 连续切换不同优先级等级 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 设置为红色<br>2. 再次打开菜单<br>3. 设置为绿色<br>4. 再次打开菜单<br>5. 设置为无色 |
| **预期结果** | 1. 每次切换checkbox边框颜色正确变化<br>2. 无色时边框恢复默认样式 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-20 checkbox边框样式变化
| 项目 | 内容 |
|------|------|
| **用例标题** | 不同优先级下checkbox边框样式验证 |
| **测试场景** | 验证不同优先级状态下checkbox边框的视觉差异 |
| **前置条件** | 1. 用户已登录<br>2. 创建4条提醒分别设置不同优先级 |
| **测试步骤** | 1. 设置提醒A为红色<br>2. 设置提醒B为绿色<br>3. 设置提醒C为黄色<br>4. 设置提醒D为无色 |
| **预期结果** | 1. 红色优先级:边框 #dc26262px<br>2. 绿色优先级:边框 #16a34a2px<br>3. 黄色优先级:边框 #ca8a042px<br>4. 无色优先级:边框 rgba(0,0,0,0.15)1px |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-21 优先级在编辑弹窗显示
| 项目 | 内容 |
|------|------|
| **用例标题** | 优先级在编辑弹窗中正确显示 |
| **测试场景** | 点击编辑打开弹窗,验证优先级显示 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条已设置优先级的提醒 |
| **测试步骤** | 1. 右键点击提醒卡片<br>2. 点击"编辑"选项<br>3. 观察编辑弹窗 |
| **预期结果** | 编辑弹窗中显示当前设置的优先级 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-22 逾期提醒优先级设置
| 项目 | 内容 |
|------|------|
| **用例标题** | 逾期提醒优先级设置功能 |
| **测试场景** | 对已过期的提醒设置优先级 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条已过期的提醒 |
| **测试步骤** | 1. 进入"已错过"分组<br>2. 右键点击逾期提醒<br>3. 设置为红色 |
| **预期结果** | 1. 菜单关闭<br>2. 优先级更新成功<br>3. checkbox边框变为红色 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-23 已完成提醒优先级设置
| 项目 | 内容 |
|------|------|
| **用例标题** | 已完成提醒优先级设置功能 |
| **测试场景** | 对已完成的提醒设置优先级 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条已完成的提醒 |
| **测试步骤** | 1. 找到已完成的提醒<br>2. 右键点击<br>3. 设置为红色 |
| **预期结果** | 1. 菜单关闭<br>2. 优先级更新成功(即使卡片呈灰色半透明状态) |
| **优先级** | P2 |
| **状态** | 待测试 |
---
### TC-RM-24 优先级数据持久化
| 项目 | 内容 |
|------|------|
| **用例标题** | 优先级设置数据持久化验证 |
| **测试场景** | 验证设置优先级后刷新页面数据是否保留 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 设置提醒为红色优先级<br>2. 刷新浏览器页面<br>3. 查看该提醒 |
| **预期结果** | 1. 页面刷新后<br>2. 提醒仍显示红色优先级边框<br>3. 数据从后端正确加载 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
## 四、操作功能
### TC-RM-25 点击编辑打开编辑弹窗
| 项目 | 内容 |
|------|------|
| **用例标题** | 右键菜单编辑功能验证 |
| **测试场景** | 通过右键菜单打开编辑弹窗 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 右键点击提醒卡片<br>2. 点击"操作"区域的"编辑"选项 |
| **预期结果** | 1. 菜单关闭<br>2. 打开编辑弹窗<br>3. 弹窗显示该提醒的完整信息 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-26 编辑弹窗内容正确
| 项目 | 内容 |
|------|------|
| **用例标题** | 编辑弹窗内容验证 |
| **测试场景** | 验证编辑弹窗显示的信息完整性 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条带内容和时间的提醒 |
| **测试步骤** | 1. 右键点击提醒卡片<br>2. 点击"编辑"<br>3. 检查弹窗内容 |
| **预期结果** | 弹窗包含:<br>1. 标题字段(预填充)<br>2. 内容字段(预填充)<br>3. 日期时间选择器(预填充)<br>4. 优先级显示/选择<br>5. 保存、删除、取消按钮 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-27 点击删除删除提醒
| 项目 | 内容 |
|------|------|
| **用例标题** | 右键菜单删除功能验证 |
| **测试场景** | 通过右键菜单删除提醒 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 右键点击提醒卡片<br>2. 点击"操作"区域的"删除"选项 |
| **预期结果** | 1. 菜单关闭<br>2. 弹出确认删除对话框<br>3. 确认后提醒从列表移除 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-28 删除确认对话框
| 项目 | 内容 |
|------|------|
| **用例标题** | 删除确认对话框验证 |
| **测试场景** | 验证删除时的确认提示 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 右键点击提醒卡片<br>2. 点击"删除"<br>3. 观察确认对话框 |
| **预期结果** | 显示确认对话框,包含:<br>1. 提示文字"确定要删除这个提醒吗?"<br>2. "确认"和"取消"按钮 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-29 删除取消操作
| 项目 | 内容 |
|------|------|
| **用例标题** | 删除取消操作验证 |
| **测试场景** | 在删除确认对话框中点击取消 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 右键点击提醒卡片<br>2. 点击"删除"<br>3. 在确认对话框中点击"取消" |
| **预期结果** | 1. 确认对话框关闭<br>2. 提醒保留在列表中 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-30 删除后数据移除
| 项目 | 内容 |
|------|------|
| **用例标题** | 删除后数据从列表移除验证 |
| **测试场景** | 删除提醒后验证数据状态 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒<br>3. 记录提醒ID |
| **测试步骤** | 1. 删除该提醒<br>2. 刷新页面 |
| **预期结果** | 1. 提醒从列表中移除<br>2. 刷新后不再出现<br>3. 后端数据已删除 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
## 五、UI样式验证
### TC-RM-31 重复图标颜色
| 项目 | 内容 |
|------|------|
| **用例标题** | 重复图标统一为灰色 |
| **测试场景** | 验证带重复属性的提醒卡片上循环图标颜色 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条重复提醒(每天/每周/每年重复) |
| **测试步骤** | 1. 找到带循环图标的提醒卡片<br>2. 查看图标颜色 |
| **预期结果** | 循环图标颜色统一为灰色(#999 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-32 菜单区域划分
| 项目 | 内容 |
|------|------|
| **用例标题** | 右键菜单三个功能区域划分验证 |
| **测试场景** | 验证右键菜单的视觉区域划分 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 右键点击提醒卡片<br>2. 观察菜单结构 |
| **预期结果** | 菜单分为三个区域:<br>1. 顶部:日期调整(今日、明天、一周后)<br>2. 中部:优先级(无色、红色、绿色、黄色)<br>3. 底部:操作(编辑、删除)<br>各区域用分割线分隔 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-33 优先级颜色指示
| 项目 | 内容 |
|------|------|
| **用例标题** | 优先级选项颜色指示验证 |
| **测试场景** | 验证菜单中优先级选项的颜色标识 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 右键点击提醒卡片<br>2. 点击"优先级"展开选项<br>3. 观察颜色指示 |
| **预期结果** | 1. 无色:灰色圆点<br>2. 红色:红色圆点<br>3. 绿色:绿色圆点<br>4. 黄色:黄色圆点 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-34 菜单项图标
| 项目 | 内容 |
|------|------|
| **用例标题** | 菜单项图标显示验证 |
| **测试场景** | 验证各菜单项左侧图标是否正确显示 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 右键点击提醒卡片<br>2. 查看各菜单项图标 |
| **预期结果** | 1. 日期调整选项:日历图标<br>2. 优先级选项:圆形颜色图标<br>3. 编辑选项:编辑图标<br>4. 删除选项:垃圾桶图标 |
| **优先级** | P2 |
| **状态** | 待测试 |
---
### TC-RM-35 菜单阴影和边框
| 项目 | 内容 |
|------|------|
| **用例标题** | 右键菜单样式验证 |
| **测试场景** | 验证菜单的整体视觉样式 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 右键点击提醒卡片<br>2. 观察菜单样式 |
| **预期结果** | 1. 白色背景<br>2. 轻微阴影效果<br>3. 圆角样式<br>4. 无多余边框 |
| **优先级** | P2 |
| **状态** | 待测试 |
---
## 六、异常场景测试
### TC-RM-36 网络异常时日期调整
| 项目 | 内容 |
|------|------|
| **用例标题** | 网络异常时日期调整失败处理 |
| **测试场景** | 模拟网络异常,验证日期调整的错误处理 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒<br>3. 模拟网络断开 |
| **测试步骤** | 1. 断开网络连接<br>2. 右键点击提醒<br>3. 选择"今日"<br>4. 观察处理方式 |
| **预期结果** | 显示网络错误提示,数据不更新或显示离线状态 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-37 网络异常时优先级设置
| 项目 | 内容 |
|------|------|
| **用例标题** | 网络异常时优先级设置失败处理 |
| **测试场景** | 模拟网络异常,验证优先级设置的错误处理 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒<br>3. 模拟网络断开 |
| **测试步骤** | 1. 断开网络连接<br>2. 右键点击提醒<br>3. 设置优先级为红色<br>4. 观察处理方式 |
| **预期结果** | 显示网络错误提示UI状态不更新 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-38 网络异常时删除操作
| 项目 | 内容 |
|------|------|
| **用例标题** | 网络异常时删除操作处理 |
| **测试场景** | 模拟网络异常,验证删除操作的错误处理 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒<br>3. 模拟网络断开 |
| **测试步骤** | 1. 断开网络连接<br>2. 右键点击提醒<br>3. 选择删除<br>4. 确认删除 |
| **预期结果** | 显示网络错误提示,提醒仍保留在列表中 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
## 测试环境
| 项目 | 配置 |
|------|------|
| **测试账号** | ddshi0413@gmail.com / aA21135687 |
| **测试环境** | 开发环境 / staging环境 |
| **浏览器** | Chrome最新版、Firefox、Safari、Edge |
| **操作系统** | Windows 11、macOS、ChromeOS |
| **响应式测试** | 桌面端1920px、1366px、平板端768px |
---
## 测试账号信息
| 字段 | 值 |
|------|------|
| **邮箱** | ddshi0413@gmail.com |
| **密码** | aA21135687 |
---
## 附录:优先级颜色常量
```typescript
const colors: Record<PriorityType, string> = {
none: 'rgba(0, 0, 0, 0.15)',
red: '#dc2626',
green: '#16a34a',
yellow: '#ca8a04',
};
```
重复图标颜色:`#999`
---
## 七、2026-02-04 版本更新测试用例
本次更新修复了以下内容:
1. handlePostpone 增加了 next_reminder_date 同步逻辑(重复提醒顺延时)
2. 使用 selector 优化 Zustand 订阅性能
3. 添加点击外部关闭菜单机制
4. 优先级显示"默认"而非"无色"
5. 优先级勾选标记正确显示
6. Checkbox 边框颜色根据优先级变化
---
### TC-RM-39 重复提醒顺延时 next_reminder_date 同步更新
| 项目 | 内容 |
|------|------|
| **用例标题** | 重复提醒顺延时 next_reminder_date 同步更新 |
| **测试场景** | 对重复提醒进行日期顺延,验证 next_reminder_date 同步更新 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条重复提醒(如每天重复) |
| **测试步骤** | 1. 创建一条每天重复的提醒初始日期为2月1日<br>2. 查看记录确认 next_reminder_date = 2月2日<br>3. 右键点击该提醒<br>4. 选择"今日"假设当前日期为2月5日 |
| **预期结果** | 1. 菜单关闭<br>2. 提醒日期更新为2月5日<br>3. next_reminder_date 同步更新为2月6日<br>4. 重复属性保持不变 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-40 重复提醒逾期后顺延不破坏周期
| 项目 | 内容 |
|------|------|
| **用例标题** | 重复提醒逾期后顺延不破坏原始周期 |
| **测试场景** | 验证重复提醒逾期后顺延next_reminder_date 保持不变 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条已过期的重复提醒 |
| **测试步骤** | 1. 创建一条每天重复的提醒初始日期为2月1日<br>2. 假设当前日期为2月5日<br>3. 右键点击该逾期提醒<br>4. 选择"今日" |
| **预期结果** | 1. 菜单关闭<br>2. 提醒日期更新为2月5日<br>3. next_reminder_date 保持为2月2日原始计算值<br>4. 下次完成时从2月2日开始计算新周期 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-41 Zustand selector 性能优化验证
| 项目 | 内容 |
|------|------|
| **用例标题** | 右键菜单状态使用 selector 订阅验证 |
| **测试场景** | 验证使用 selector 订阅 Zustand 状态,不影响功能 |
| **前置条件** | 1. 用户已登录<br>2. 存在至少两条提醒 |
| **测试步骤** | 1. 右键点击第一条提醒打开菜单<br>2. 快速右键点击第二条提醒<br>3. 观察菜单切换 |
| **预期结果** | 1. 菜单正确显示在当前点击的卡片位置<br>2. 不会出现多个菜单同时显示<br>3. 菜单切换流畅无卡顿 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-42 点击菜单外部区域关闭菜单
| 项目 | 内容 |
|------|------|
| **用例标题** | 点击菜单外部区域正确关闭菜单 |
| **测试场景** | 右键菜单打开后,点击其他区域验证菜单关闭 |
| **前置条件** | 1. 用户已登录<br>2. 提醒列表中存在至少一条提醒<br>3. 右键菜单已打开 |
| **测试步骤** | 1. 右键点击卡片打开菜单<br>2. 点击页面其他空白区域(非卡片区域)<br>3. 再次右键打开菜单<br>4. 点击另一张卡片(不打开菜单) |
| **预期结果** | 1. 点击空白区域后,菜单立即关闭<br>2. 点击另一张卡片时,菜单关闭并切换到新卡片 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-43 优先级选项显示为"默认"而非"无色"
| 项目 | 内容 |
|------|------|
| **用例标题** | 优先级选项文字显示验证 |
| **测试场景** | 验证优先级下拉菜单中"none"显示为"默认" |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 右键点击提醒卡片<br>2. 点击"优先级"区域展开选项<br>3. 观察各选项显示文字 |
| **预期结果** | 1. 优先级选项显示为:默认、红色、绿色、黄色<br>2. 不显示"无色" |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-44 当前优先级勾选标记正确显示
| 项目 | 内容 |
|------|------|
| **用例标题** | 当前优先级勾选标记显示验证 |
| **测试场景** | 验证选中优先级后,菜单中正确显示勾选标记 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 设置提醒优先级为红色<br>2. 再次右键点击该提醒<br>3. 点击"优先级"展开选项 |
| **预期结果** | 1. 当前优先级选项(红色)右侧显示勾选标记<br>2. 其他优先级选项不显示勾选标记<br>3. 切换优先级后,勾选标记正确移动 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-45 Checkbox 边框颜色根据优先级变化
| 项目 | 内容 |
|------|------|
| **用例标题** | 不同优先级下 checkbox 边框样式验证 |
| **测试场景** | 验证 checkbox 边框颜色随优先级变化 |
| **前置条件** | 1. 用户已登录<br>2. 创建4条提醒分别设置不同优先级 |
| **测试步骤** | 1. 设置提醒A优先级为 none<br>2. 设置提醒B优先级为 red<br>3. 设置提醒C优先级为 green<br>4. 设置提醒D优先级为 yellow |
| **预期结果** | 1. 提醒A默认checkbox边框 rgba(0,0,0,0.15)1px<br>2. 提醒B红色checkbox边框 #dc26262px<br>3. 提醒C绿色checkbox边框 #16a34a2px<br>4. 提醒D黄色checkbox边框 #ca8a042px |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-46 优先级按钮边框颜色同步
| 项目 | 内容 |
|------|------|
| **用例标题** | 优先级按钮边框颜色同步更新 |
| **测试场景** | 验证右键菜单中优先级按钮边框颜色与当前优先级同步 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 右键点击提醒<br>2. 观察优先级按钮边框颜色<br>3. 切换优先级后再次打开菜单<br>4. 观察按钮边框颜色变化 |
| **预期结果** | 1. 按钮边框颜色与当前优先级颜色一致<br>2. 优先级图标颜色与边框颜色一致<br>3. 切换优先级后,按钮样式实时更新 |
| **优先级** | P1 |
| **状态** | 待测试 |
---
### TC-RM-47 优先级数据持久化与刷新
| 项目 | 内容 |
|------|------|
| **用例标题** | 优先级设置后刷新页面验证 |
| **测试场景** | 设置优先级后刷新页面,验证 checkbox 边框样式保留 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 设置提醒为红色优先级<br>2. 刷新浏览器页面<br>3. 查看该提醒 |
| **预期结果** | 1. 页面刷新后<br>2. 提醒仍显示红色优先级边框<br>3. 数据从后端正确加载 |
| **优先级** | P0 |
| **状态** | 待测试 |
---
### TC-RM-48 优先级切换动画效果
| 项目 | 内容 |
|------|------|
| **用例标题** | 优先级切换时菜单项动画效果 |
| **测试场景** | 验证切换优先级时勾选标记的切换动画 |
| **前置条件** | 1. 用户已登录<br>2. 存在一条提醒 |
| **测试步骤** | 1. 右键点击提醒打开菜单<br>2. 点击"优先级"展开选项<br>3. 依次点击不同的优先级 |
| **预期结果** | 1. 勾选标记在选项间平滑切换<br>2. 无闪烁或跳跃现象<br>3. 切换后菜单保持打开状态 |
| **优先级** | P2 |
| **状态** | 待测试 |
---
## 测试环境
| 项目 | 配置 |
|------|------|
| **测试账号** | ddshi0413@gmail.com / aA21135687 |
| **测试环境** | 开发环境 / staging环境 |
| **浏览器** | Chrome最新版、Firefox、Safari、Edge |
| **操作系统** | Windows 11、macOS、ChromeOS |
| **响应式测试** | 桌面端1920px、1366px、平板端768px |
---
## 测试账号信息
| 字段 | 值 |
|------|------|
| **邮箱** | ddshi0413@gmail.com |
| **密码** | aA21135687 |
---
## 附录:优先级颜色常量
```typescript
const PRIORITY_COLORS: Record<PriorityType, string> = {
none: 'rgba(0, 0, 0, 0.15)',
red: '#dc2626',
green: '#16a34a',
yellow: '#ca8a04',
};
const PRIORITY_NAMES: Record<PriorityType, string> = {
none: '默认',
red: '红色',
green: '绿色',
yellow: '黄色',
};
```
重复图标颜色:`#999`