forked from erp-dev/erp
fix: docs
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
## 目标
|
||||
|
||||
在 `business` 模块为已审核正式单据增加整单红冲能力。第一阶段只实现 service 和测试,不新增 API。
|
||||
在 `business` 模块为已审核正式单据增加整单红冲能力,并通过独立 API 对外开放。
|
||||
|
||||
## 已确认口径
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- `red_flush_id` 用于跨表、跨记录追踪同一次红冲涉及的所有数据,是审计关联批次 ID。
|
||||
- 不新增 `red_flush_no`。该编号只适合人工展示,目前无需求。
|
||||
- 第一版只支持整单红冲,不支持部分红冲。
|
||||
- API 在 service 与测试完成、覆盖率达标后再增加;API 层红冲原因必填。
|
||||
- API 已开放独立 `/red-flush/` action,API 层红冲原因必填。
|
||||
- API 权限复用现有审批/作废权限,不新增独立红冲权限。
|
||||
- 多商户隔离必须下沉到 service。红冲 service 调用方必须传入当前 `merchant`,service 在解析单据后校验单据所属商户。
|
||||
|
||||
@@ -136,7 +136,17 @@
|
||||
- 库存记录未完成或已红冲时报错。
|
||||
- 事务回滚场景。
|
||||
|
||||
目标:`business` 模块覆盖率 90%+。
|
||||
API 测试覆盖:
|
||||
|
||||
- 6 类单据 `/red-flush/` 成功路径。
|
||||
- `reason` 必填。
|
||||
- 无员工身份权限拒绝。
|
||||
- 跨商户查询隔离。
|
||||
- 外部付款/收款单拒绝。
|
||||
- 未审核、重复红冲、缺库存记录等 service 校验错误映射为 400。
|
||||
- 成功响应包含 `is_red_flushed`、`red_flush_id`、`red_flushed_at`,并抽样断言余额/库存副作用。
|
||||
|
||||
目标:red flush 关键 service/API 路径需要有定向测试覆盖。
|
||||
|
||||
## 测试命令
|
||||
|
||||
@@ -144,14 +154,14 @@
|
||||
|
||||
```bash
|
||||
docker compose exec -T -e DB_HOST=postgres -e DB_PORT=5432 web \
|
||||
uv run python manage.py test business.tests --keepdb --noinput
|
||||
uv run python manage.py test business.tests.test_red_flush_services api_v1.tests.BusinessRedFlushAPITestCase --keepdb --noinput
|
||||
```
|
||||
|
||||
覆盖率:
|
||||
|
||||
```bash
|
||||
docker compose exec -T -e DB_HOST=postgres -e DB_PORT=5432 web \
|
||||
uv run coverage run --source=business manage.py test business.tests --keepdb --noinput
|
||||
uv run coverage run --source=business,api_v1 manage.py test business.tests.test_red_flush_services api_v1.tests.BusinessRedFlushAPITestCase --keepdb --noinput
|
||||
```
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user