Files
ai-agent-admin/backend-fastapi/online_dev/report_manager/engine/fixtures
..

Golden Test Fixtures

运行:python -m online_dev.report_manager.engine.test_golden

格式

{
  "name": "用例名",
  "snapshot": { "sheets": { ... } },
  "cells": { "cells": [ ... ] },
  "datasets": { "别名": [ { ... } ] },
  "params": {},
  "column_list": [],
  "expect": {
    "sheet1": { "行,列": "期望值" }
  }
}

Golden 样例(23 fixtures

运行后应输出 ok (23 fixtures)

JNPF DB 真实样例

从 JNPF jnpf_db_init.sql 提取(人员花名册 列表/分组/行列):

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_*.jsonexpect 中填写本引擎 transform() 后应对的单元格值。

参考样例:golden_jnpf_style.json(参数 + 双列列表 + 占位符)。

阶段说明

阶段 能力
已完成 transform 流水线、分栏、表达式、图表 chartData、fillEmptyRows
Phase 8 父格拓扑扩展、polymerizationType、JNPF golden、图表拾色器
Phase 8+ 跨行上父格、全表 row_registryparent_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