kindergarten_java/reading-platform-frontend/tests/manual-test-guide.md

215 lines
4.3 KiB
Markdown
Raw Permalink Normal View History

refactor: 完成代码重构规范化 - 2026-03-12 后端重构: - 添加统一响应格式 ResultDto<T> 和 PageResultDto<T> - 添加分页查询 DTO 基类 PageQueryDto - 添加响应转换拦截器 TransformInterceptor - 添加公共工具函数(JSON 解析、分页计算) - 配置 Swagger/OpenAPI 文档(访问路径:/api-docs) - Tenant 模块 DTO 规范化示例(添加 @ApiProperty 装饰器) - CourseLesson 控制器重构 - 移除类级路径参数,修复 Orval 验证错误 - 后端 DTO 规范化 - 为 Course、Lesson、TeacherCourse、SchoolCourse 控制器添加完整的 Swagger 装饰器 前端重构: - 配置 Orval 从后端 OpenAPI 自动生成 API 客户端 - 生成 API 客户端代码(带完整参数定义) - 创建 API 客户端统一入口 (src/api/client.ts) - 创建 API 适配层 (src/api/teacher.adapter.ts) - 配置文件路由 (unplugin-vue-router) - 课程模块迁移到新 API 客户端 - 修复 PrepareModeView.vue API 调用错误 - 教师模块迁移到新 API 客户端 - 修复 school-course.ts 类型错误 - 清理 teacher.adapter.ts 未使用导入 - 修复 client.ts API 客户端结构 - 创建文件路由目录结构 Bug 修复: - 修复路由配置问题 - 移除 top-level await,改用手动路由配置 - 修复响应拦截器 - 正确解包 { code, message, data } 格式的响应 - 清理 teacher.adapter.ts 未使用导入 - 修复 client.ts API 客户端结构 - 创建文件路由目录结构 系统测试: - 后端 API 测试通过 (7/7) - 前端路由测试通过 (4/4) - 数据库完整性验证通过 - Orval API 客户端验证通过 - 超管端功能测试通过 (97.8% 通过率) 新增文件: - reading-platform-backend/src/common/dto/result.dto.ts - reading-platform-backend/src/common/dto/page-query.dto.ts - reading-platform-backend/src/common/interceptors/transform.interceptor.ts - reading-platform-backend/src/common/utils/json.util.ts - reading-platform-backend/src/common/utils/pagination.util.ts - reading-platform-frontend/orval.config.ts - reading-platform-frontend/src/api/generated/mutator.ts - reading-platform-frontend/src/api/client.ts - reading-platform-frontend/src/api/teacher.adapter.ts Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 17:27:13 +08:00
# Phase 6 校本课程包功能 - 手动测试指南
**测试日期**: 2026-03-11
**测试人员**: [请填写]
**测试账号**: teacher1 / 123456
**前端地址**: http://localhost:5173
---
## 测试清单
### 前置条件
- [x] 前端服务运行 (http://localhost:5173)
- [x] 后端服务运行 (http://localhost:3000)
- [x] 数据库连接正常
---
## 测试用例
### TC-01: 创建校本课程包
**步骤:**
1. 登录系统 (teacher1 / 123456)
2. 点击"课程中心"菜单
3. 点击任意课程的"查看"按钮
4. 在详情页查找"创建校本版本"按钮
5. 点击该按钮
6. 验证跳转到编辑页面
7. 选择"保存到个人课程中心"
8. 点击"创建"按钮
9. 等待创建完成
**预期结果:**
- 详情页显示"创建校本版本"按钮
- 点击后跳转到 `/school-courses/edit` 页面
- 显示源课程信息
- 创建成功后跳转到个人课程中心或显示成功消息
**实际结果:** [请填写]
**状态:** [ ] 通过 [ ] 失败
**备注:** [请填写]
---
### TC-02: 查看个人课程中心列表
**步骤:**
1. 登录系统
2. 点击"个人课程中心"菜单
3. 观察页面内容
**预期结果:**
- 显示校本课程包列表
- 显示保存位置筛选器(全部/个人/校本)
- 显示审核状态标签(如有)
- 每个课程卡片显示编辑、查看、删除按钮
**实际结果:** [请填写]
**状态:** [ ] 通过 [ ] 失败
**备注:** [请填写]
---
### TC-03: 编辑校本课程包
**步骤:**
1. 进入个人课程中心
2. 点击任意校本课程的"编辑"按钮
3. 观察7步编辑器
4. 尝试切换各个步骤
5. 修改基本信息(如名称)
6. 点击"保存"或"保存到个人"
**预期结果:**
- 进入编辑页面,显示7步导航
- 各步骤内容正确显示
- 可以切换步骤
- 保存成功
**实际结果:** [请填写]
**状态:** [ ] 通过 [ ] 失败
**备注:** [请填写]
---
### TC-04: 查看校本课程详情
**步骤:**
1. 进入个人课程中心
2. 点击任意校本课程的"查看"按钮
3. 观察详情页内容
**预期结果:**
- 显示课程基本信息
- 显示保存位置标签
- 显示审核状态(如适用)
- 显示课程列表
- 显示"开始备课"按钮
**实际结果:** [请填写]
**状态:** [ ] 通过 [ ] 失败
**备注:** [请填写]
---
### TC-05: 备课模式
**步骤:**
1. 进入校本课程详情页
2. 点击"开始备课"按钮
3. 观察备课模式页面
**预期结果:**
- 跳转到备课模式页面 (URL 包含 `type=school`)
- 显示左侧导航栏
- 显示课程列表
- 显示右侧内容预览
**实际结果:** [请填写]
**状态:** [ ] 通过 [ ] 失败
**备注:** [请填写]
---
### TC-06: 筛选功能
**步骤:**
1. 进入个人课程中心
2. 点击"个人"筛选器
3. 观察列表变化
4. 点击"校本"筛选器
5. 观察列表变化
**预期结果:**
- 筛选器正确切换
- 列表内容相应更新
- 显示正确的筛选结果
**实际结果:** [请填写]
**状态:** [ ] 通过 [ ] 失败
**备注:** [请填写]
---
### TC-07: 删除功能
**步骤:**
1. 进入个人课程中心
2. 点击任意校本课程的"删除"按钮
3. 确认删除操作
**预期结果:**
- 显示确认对话框
- 确认后课程被删除
- 列表更新
**实际结果:** [请填写]
**状态:** [ ] 通过 [ ] 失败
**备注:** [请填写]
---
## 数据库验证
### 检查 school_courses 表
```sql
SELECT id, name, saveLocation, reviewStatus, sourceCourseId
FROM school_courses
ORDER BY createdAt DESC;
```
**预期数据:**
- saveLocation 为 'PERSONAL' 或 'SCHOOL'
- reviewStatus 为 'PENDING', 'APPROVED', 或 'REJECTED'
- sourceCourseId 指向有效的课程
### 检查 school_course_lessons 表
```sql
SELECT id, schoolCourseId, lessonType, name, stepsData
FROM school_course_lessons
ORDER BY schoolCourseId, id;
```
**预期数据:**
- stepsData 字段包含有效的 JSON 数据
- lessonType 为 'INTRODUCTION', 'COLLECTIVE', 或领域类型
---
## 问题记录
| 问题ID | 描述 | 严重程度 | 状态 |
|--------|------|----------|------|
| BUG-001 | [问题描述] | [高/中/低] | [待修复/已修复] |
---
## 测试总结
**测试日期**: [请填写]
**测试人员**: [请填写]
**测试结果**:
- 通过用例: ___ / 7
- 失败用例: ___ / 7
- 发现问题: ___ 个
**整体评价**: [请填写]
---
*测试指南创建于 2026-03-11*