feat: restore source parity and harden agent runtime
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# Golden Test Fixtures
|
||||
|
||||
运行:`python -m online_dev.report_manager.engine.test_golden`
|
||||
|
||||
## 格式
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "用例名",
|
||||
"snapshot": { "sheets": { ... } },
|
||||
"cells": { "cells": [ ... ] },
|
||||
"datasets": { "别名": [ { ... } ] },
|
||||
"params": {},
|
||||
"column_list": [],
|
||||
"expect": {
|
||||
"sheet1": { "行,列": "期望值" }
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Golden 样例(23 fixtures)
|
||||
|
||||
运行后应输出 `ok (23 fixtures)`。
|
||||
|
||||
### JNPF DB 真实样例
|
||||
|
||||
从 JNPF `jnpf_db_init.sql` 提取(人员花名册 列表/分组/行列):
|
||||
|
||||
```bash
|
||||
cd backend-fastapi
|
||||
python -m online_dev.report_manager.engine.fixtures.extract_jnpf_fixtures
|
||||
```
|
||||
|
||||
| 文件 | 场景 |
|
||||
|------|------|
|
||||
| `golden_jnpf_db_user_list.json` | 列表 portrait |
|
||||
| `golden_jnpf_db_user_group.json` | 分组 |
|
||||
| `golden_jnpf_db_user_matrix.json` | 行列 landscape |
|
||||
|
||||
手写对标样例仍放在 `golden_jnpf_*.json` / `golden_*.json`,
|
||||
在 `expect` 中填写本引擎 `transform()` 后应对的单元格值。
|
||||
|
||||
参考样例:`golden_jnpf_style.json`(参数 + 双列列表 + 占位符)。
|
||||
|
||||
## 阶段说明
|
||||
|
||||
| 阶段 | 能力 |
|
||||
|------|------|
|
||||
| 已完成 | transform 流水线、分栏、表达式、图表 chartData、fillEmptyRows |
|
||||
| Phase 8 | 父格拓扑扩展、`polymerizationType`、JNPF golden、图表拾色器 |
|
||||
| Phase 8+ | 跨行上父格、全表 `row_registry`、`parent_scoped` 子格数据切片 |
|
||||
|
||||
## JNPF 父格 Golden
|
||||
|
||||
| 文件 | 场景 |
|
||||
|------|------|
|
||||
| `golden_jnpf_parent_group.json` | 左父格 + 分组/列表 |
|
||||
| `golden_jnpf_top_parent.json` | 同行上父格链(年→月→金额) |
|
||||
| `golden_jnpf_cross_row.json` | 跨行上父格(同列子格优先显示) |
|
||||
| `golden_jnpf_poly_summary.json` | 汇总格 |
|
||||
| `golden_jnpf_export_list.json` | 字符串行列 + fillDirection |
|
||||
Reference in New Issue
Block a user