TEST-CASE-AUTO-CREATE.md 8.0 KB

测试案例自动创建功能指南

📝 功能概述

当项目进入"售后归档"阶段时,系统会自动创建一个对应的案例,并在客服案例库中展示。

🎯 测试目的

验证"10.28 测试"项目在完成售后归档后,能够自动在案例库(@case-library/)中显示对应的案例。

🚀 快速测试步骤

1. 访问项目管理页面

http://localhost:4200/admin/project-management

2. 点击测试按钮

在页面右上角找到并点击 "测试案例自动创建" 按钮。

测试按钮

3. 确认操作

系统会弹出确认对话框,显示将要执行的操作:

确定要将"10.28 测试"项目填写完整并推进到售后归档阶段吗?

此操作将:
1. 填充项目所有必要信息(面积、户型、预算、设计亮点等)
2. 创建示例产品和效果图
3. 更新项目阶段为"售后归档"
4. 自动创建案例并同步到案例库

点击确定开始测试

点击 "确定" 继续。

4. 查看测试结果

执行成功后,会显示成功消息:

✅ 测试成功!

测试成功!项目"10.28 测试"已完成售后归档,案例已自动创建 (案例ID: xxxxx)

📍 项目ID: CW0Ew4f56E
📍 案例ID: xxxxxxxx

请前往以下地址查看:
- 案例库: http://localhost:4200/customer-service/case-library
- 项目详情: http://localhost:4200/admin/project-management

5. 验证案例创建

方法1:查看案例库

访问客服案例库:

http://localhost:4200/customer-service/case-library

在案例列表中查找名为 "10.28 测试""项目 xxx 案例" 的案例卡片。

方法2:检查浏览器控制台

打开浏览器控制台(F12),查看日志输出:

✅ 找到项目: 10.28 测试 (CW0Ew4f56E)
✅ 项目数据已填充
✅ 产品数据已创建
✅ 项目阶段已更新为: 售后归档
📦 触发案例自动创建...
✅ 案例创建成功! 案例ID: xxxxxxxx
📋 案例名称: 10.28 测试
🎨 封面图片: 已设置
📸 图片数量: 3
💰 项目总额: 350000
🏷️ 标签: 现代简约, 北欧风, 家装, 三居室

📊 测试数据说明

系统会自动为"10.28 测试"项目填充以下数据:

项目基础信息

  • 面积: 120平米
  • 户型: 三居室
  • 项目类型: 家装
  • 空间类型: 平层
  • 渲染级别: 高端

预算信息

  • 项目总额: ¥350,000
    • 设计费: ¥50,000
    • 施工费: ¥200,000
    • 软装费: ¥100,000

设计亮点

  • 现代简约风格设计
  • 智能家居系统集成
  • 开放式厨房与客厅设计
  • 采用环保材料
  • 充分利用自然采光

产品/效果图

系统会创建3个示例产品:

  1. 主卧效果图

    • 空间: 主卧
    • 阶段: 渲染
    • 状态: 已完成
    • 图片数: 2张
  2. 客厅效果图

    • 空间: 客厅
    • 阶段: 渲染
    • 状态: 已完成
    • 图片数: 2张
  3. 厨房效果图

    • 空间: 厨房
    • 阶段: 渲染
    • 状态: 已完成
    • 图片数: 1张

时间线

  • 开始日期: 2024-10-01
  • 完成日期: 2024-10-28
  • 持续时间: 27天
  • 里程碑: 订单分配 → 需求沟通 → 方案确认 → 建模 → 渲染 → 售后归档

🔍 验证要点

1. 案例库展示

✅ 案例卡片正常显示
✅ 封面图片加载成功
✅ 案例名称正确显示
✅ 项目标签正确显示(现代简约、北欧风等)
✅ 项目总额正确显示(¥350,000)

2. 案例详情

点击案例卡片查看详情,验证:

✅ 项目基础信息完整
✅ 设计亮点正确显示
✅ 效果图图片加载成功
✅ 空间分类正确(主卧、客厅、厨房)
✅ 预算信息详细准确
✅ 时间线完整

3. 数据一致性

✅ 项目管理页面状态更新为"已完成"
✅ 项目阶段显示为"售后归档"
✅ 案例与项目正确关联(通过project指针)

🛠️ 技术实现

核心服务

1. TestProjectCompleteService

位置: yss-project/src/app/services/test-project-complete.service.ts

主要方法:

  • completeTestProject(): 完成测试项目主流程
  • findTestProject(): 查找"10.28 测试"项目
  • fillProjectData(): 填充项目数据
  • createProducts(): 创建示例产品和效果图
  • findProjectCase(): 验证案例是否创建成功

2. ProjectToCaseService

位置: yss-project/src/app/services/project-to-case.service.ts

主要方法:

  • onProjectStageChanged(): 监听项目阶段变化
  • createCaseFromProject(): 从项目数据创建案例
  • checkCaseExists(): 检查案例是否已存在(避免重复创建)

数据流

点击测试按钮
    ↓
[TestProjectCompleteService]
    ↓
查找"10.28 测试"项目
    ↓
填充项目数据(面积、户型、预算等)
    ↓
创建产品和效果图(3个空间)
    ↓
更新项目阶段为"售后归档"
    ↓
[ProjectToCaseService]
    ↓
检查案例是否已存在
    ↓
创建案例(映射项目数据到Case表)
    ↓
保存到Parse数据库
    ↓
案例库自动刷新显示

Parse数据库表关系

Project (项目表)
    ↓ (Pointer)
Case (案例表)
    ├── project (Pointer to Project)
    ├── designer (Pointer to Profile)
    ├── team (Pointer to Department)
    ├── coverImage (String)
    ├── images (Array<String>)
    ├── totalPrice (Number)
    ├── tag (Array<String>)
    ├── info (Object)
    └── data (Object)
        ├── productsDetail (Array)
        ├── budget (Object)
        ├── timeline (Object)
        ├── highlights (Array)
        └── ...

❓ 常见问题

Q1: 点击测试按钮后没有反应

A: 检查浏览器控制台是否有错误信息,确保:

  • Parse服务器正常运行
  • 用户已登录且有权限
  • "10.28 测试"项目存在

Q2: 案例创建成功但案例库看不到

A: 可能原因:

  • 案例库筛选条件过滤了该案例(检查isPublished状态)
  • 刷新案例库页面
  • 检查案例的company字段是否与当前公司匹配

Q3: 案例图片显示为占位符

A: 这是正常的!测试数据使用placeholder图片URL。实际使用时,产品的attachments会包含真实的图片URL。

Q4: 重复点击会创建多个案例吗?

A: 不会。系统会检查项目是否已有关联案例,避免重复创建。如果已存在,会提示:

⚠️ 项目 xxx 的案例已存在,跳过创建。

Q5: 如何清理测试数据?

A: 有两种方式:

  1. 在案例库中手动删除案例
  2. 在Parse Dashboard中直接删除Case记录

📝 测试检查清单

在提交测试结果前,请确保:

  • 测试按钮可以正常点击
  • 确认对话框正常弹出
  • 项目数据填充成功(检查控制台日志)
  • 产品/效果图创建成功(检查控制台日志)
  • 项目阶段更新为"售后归档"
  • 项目状态更新为"已完成"
  • 案例自动创建成功(检查控制台日志)
  • 案例在案例库中正常显示
  • 案例封面图正常加载
  • 案例详情信息完整
  • 案例与项目正确关联
  • 没有出现错误或警告信息

🎉 测试成功标志

如果看到以下所有内容,说明测试完全成功:

  1. ✅ 浏览器弹出成功消息框
  2. ✅ 控制台显示完整的成功日志
  3. ✅ 项目管理页面状态更新
  4. ✅ 案例库中出现新案例
  5. ✅ 案例详情数据完整

📌 相关文件

  • 测试服务: src/app/services/test-project-complete.service.ts
  • 自动创建服务: src/app/services/project-to-case.service.ts
  • 项目管理组件: src/app/pages/admin/project-management/project-management.ts
  • 案例库组件: src/app/pages/customer-service/case-library/case-library.ts
  • 案例服务: src/app/services/case.service.ts

🔗 相关文档


创建日期: 2025-10-29
最后更新: 2025-10-29
版本: 1.0.0