# 功能测试 - 电池追溯

> 模块：数据中台 / 基础追溯 / 电池追溯 (Battery Traceability)
> 路由：`/data_middleground/produce/traceability/battery`

## 测试前置条件

- 测试账号具备访问“电池追溯”的菜单权限。
- 准备至少 1 个存在工序过程数据的电池条码。
- 准备 1 个已激活电池和 1 个 NG 且未激活电池，用于验证操作按钮。

## 测试任务列表

| 序号 | 测试项 | 操作步骤 | 预期结果 |
|---:|---|---|---|
| 1 | 页面入口 | 进入“电池追溯”页面 | 页面显示电池条码输入框、查询、重置按钮和列表区域 |
| 2 | 电池查询 | 输入有效电池条码并查询 | 表格展示批次、托盘、LOT、激活状态、GOOD/NG、等级、不良信息、当前工序 |
| 3 | URL 参数查询 | 访问路由并携带 `?battery_id=xxx` | 页面自动按该电池条码查询 |
| 4 | 打开电池详情 | 点击某行“电池详情” | 弹出全屏详情，左侧展示工序列表，右侧展示默认工序数据 |
| 5 | 切换工序 | 在详情中点击不同工序 | 右侧工序数据按选中工序刷新 |
| 6 | 工序数据搜索 | 在详情中输入项目名称关键字 | 工序数据表按项目名称过滤 |
| 7 | 取消激活 | 对已激活电池点击取消激活并确认 | 调用取消激活接口，行状态更新为停止 |
| 8 | 复投激活 | 对 NG 且未激活电池点击复投激活并确认 | 调用 Workerman 复投接口，成功后刷新该电池数据 |
| 9 | 重置功能 | 查询后点击重置 | 电池条码、列表和分页状态清空 |
| 10 | 国际化检查 | 切换中英文语言后重新进入页面 | 页面按钮、表格列和弹窗文案随语言切换显示 |

## 回归关注点

- 工序详情接口必须携带当前行的批次、电池条码、托盘、LOT 和工序信息。
- 取消激活接口参数 `batterData` 必须是数组 JSON。
- 复投激活必须发送 `set_battery_rebatch` action。
