test(workbook): 修复毛利率重算测试的数据与行定位 #11

Merged
jianwel merged 1 commits from codex/fix-margin-rate-recalculation-test into main 2026-11-01 02:20:08 +00:00
Owner

毛利率编辑重算测试原本预期本期毛利 50,实际得到 60。原因有两处:测试只清空 Fact.gross,导出仍从原始行读取直接毛利 50/10;编辑固定第 2 行实际改到 2025-08 基期,断言却检查 2026-08 本期。

本次仅修正测试:模拟本期两条原始直接毛利缺失的记录,保持数据库毛利与原 30% 毛利率一致;导出后按期间、科室、产品定位两条记录,确认进入 lookup 计算后将毛利率改为 50%。保留本期合计 50 的原断言,并增加逐行 40/10、基期仍为 90 的断言。生产导出和重算逻辑不变。

验证:

  • 原测试稳定复现 60 != 50;只修正数据准备后为 30 != 50,进一步修正编辑行后通过。
  • 本地 SQLite + LibreOffice 全量后端测试:87 passed,finance 覆盖率 88.69%(门槛 85%)。
  • 全库 Ruff check、修改文件 Ruff format --check、git diff --check 通过。
  • 独立审查确认未降低预期或绕过真实重算。

分支从 main 创建;本次仅修改 tests/test_formula_workbook_docs.py,未运行前端测试。

毛利率编辑重算测试原本预期本期毛利 50,实际得到 60。原因有两处:测试只清空 Fact.gross,导出仍从原始行读取直接毛利 50/10;编辑固定第 2 行实际改到 2025-08 基期,断言却检查 2026-08 本期。 本次仅修正测试:模拟本期两条原始直接毛利缺失的记录,保持数据库毛利与原 30% 毛利率一致;导出后按期间、科室、产品定位两条记录,确认进入 lookup 计算后将毛利率改为 50%。保留本期合计 50 的原断言,并增加逐行 40/10、基期仍为 90 的断言。生产导出和重算逻辑不变。 验证: - 原测试稳定复现 60 != 50;只修正数据准备后为 30 != 50,进一步修正编辑行后通过。 - 本地 SQLite + LibreOffice 全量后端测试:87 passed,finance 覆盖率 88.69%(门槛 85%)。 - 全库 Ruff check、修改文件 Ruff format --check、git diff --check 通过。 - 独立审查确认未降低预期或绕过真实重算。 分支从 main 创建;本次仅修改 tests/test_formula_workbook_docs.py,未运行前端测试。
jianwel added 1 commit 2026-11-01 01:55:10 +00:00
test(workbook): fix margin-rate recalculation fixture and row selection
Verify / verify (pull_request) Failing after 1s
AI Review / review (pull_request) Successful in 10s
Verify / verify (push) Failing after 34s
4c84b18648
Clear raw gross values for the current-period lookup rows, edit both matching rows instead of a baseline row, and assert recalculated detail and unchanged baseline totals.
jianwel merged commit 7be8854104 into main 2026-11-01 02:20:08 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jianwel/fa-agent#11