You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

384 lines
10 KiB

16 hours ago
{
"checks": [
{
"flow": "SETUP",
"case": "夹具客户 A/B 就位(快照 NULL / 编号回填)",
"verdict": "✅",
"detail": "A=KH202609060005 B=KH202609060006"
},
{
"flow": "I-01",
"case": "新客户协议列表为空(List 非分页,时间倒序)",
"verdict": "✅",
"detail": "[]"
},
{
"flow": "I-01",
"case": "新客户快照 NULL=未签",
"verdict": "✅",
"detail": "snapshot=None"
},
{
"flow": "I-01",
"case": "create 缺 customerId → 67001(入参非法)",
"verdict": "✅",
"detail": "code=67001 如预期"
},
{
"flow": "I-01",
"case": "create 幽灵客户 → 67002(防探测同码)",
"verdict": "✅",
"detail": "code=67002 如预期"
},
{
"flow": "I-01",
"case": "create agreementLevel=9 越界 → 67017",
"verdict": "✅",
"detail": "code=67017 如预期"
},
{
"flow": "I-01",
"case": "create 缺 agreementLevel → 67017(等级缺失)",
"verdict": "✅",
"detail": "code=67017 如预期"
},
{
"flow": "I-01",
"case": "create 回协议 id(Result<Long>)",
"verdict": "✅",
"detail": "id=751743642858684416"
},
{
"flow": "I-01",
"case": "快照联动:create 后=2(最新一条回写,不 bump version)",
"verdict": "✅",
"detail": "snapshot=2"
},
{
"flow": "I-01",
"case": "list 含新协议",
"verdict": "✅",
"detail": "ids=['751743642858684416']"
},
{
"flow": "I-01",
"case": "detail 回显(等级/归属/客户名快照/金额文本)",
"verdict": "✅",
"detail": "{'id': '751743642858684416', 'createTime': '2026-09-06 10:00:51', 'updateTime': '2026-09-06 10:00:51', 'customerId': '751743636604977152', '"
},
{
"flow": "I-01",
"case": "edit 成功(Result<Void>)",
"verdict": "✅",
"detail": "code=0"
},
{
"flow": "I-01",
"case": "快照联动:edit 后=3",
"verdict": "✅",
"detail": "snapshot=3"
},
{
"flow": "I-01",
"case": "归属不可换(dto.customerId 忽略,编辑以库内归属为准)",
"verdict": "✅",
"detail": "detail.customerId=751743636604977152 B快照=None"
},
{
"flow": "I-01",
"case": "amount 65 字超长 → 67017",
"verdict": "✅",
"detail": "code=67017 如预期"
},
{
"flow": "I-01",
"case": "detail 幽灵协议 → 67017",
"verdict": "✅",
"detail": "code=67017 如预期"
},
{
"flow": "I-01",
"case": "edit 幽灵协议 → 67017",
"verdict": "✅",
"detail": "code=67017 如预期"
},
{
"flow": "I-01",
"case": "delete 幽灵协议 → 67017",
"verdict": "✅",
"detail": "code=67017 如预期"
},
{
"flow": "I-01",
"case": "delete 成功(软删)",
"verdict": "✅",
"detail": "code=0"
},
{
"flow": "I-01",
"case": "快照联动:删空后=NULL(未签)",
"verdict": "✅",
"detail": "snapshot=None"
},
{
"flow": "I-01",
"case": "list 终态空",
"verdict": "✅",
"detail": "[]"
},
{
"flow": "I-01",
"case": "oplog 记 AGREEMENT_ADD/EDIT/DELETE 三写动作",
"verdict": "✅",
"detail": "actions=['AGREEMENT_DELETE', 'AGREEMENT_EDIT', 'AGREEMENT_EDIT', 'AGREEMENT_ADD', 'CREATE']"
},
{
"flow": "I-01",
"case": "oplog detail 等级文案(新增战略协议【二级】)",
"verdict": "⚠",
"detail": "detail=新增战略协议【二级】"
},
{
"flow": "I-02",
"case": "contact create 回 id",
"verdict": "✅",
"detail": "id=751743654447546368"
},
{
"flow": "I-02",
"case": "contact edit 成功",
"verdict": "✅",
"detail": "code=0"
},
{
"flow": "I-02",
"case": "contact delete 成功(软删)",
"verdict": "✅",
"detail": "code=0"
},
{
"flow": "I-02",
"case": "六种新 action 齐现(AGREEMENT ×3 + CONTACT ×3)",
"verdict": "✅",
"detail": "缺=[]"
},
{
"flow": "I-02",
"case": "全部 action 落在 17 种值域内",
"verdict": "✅",
"detail": "越界=[]"
},
{
"flow": "I-02",
"case": "action= 过滤生效(仅 AGREEMENT_ADD)",
"verdict": "✅",
"detail": "n=1 actions=['AGREEMENT_ADD']"
},
{
"flow": "I-03",
"case": "GET 单例可读(CustomerXxxRuleInitializer 首装种子)",
"verdict": "✅",
"detail": "{'id': '1', 'masterEnabled': 1, 'nameEnabled': 1, 'nameMatchMode': 2, 'similarityThreshold': 80, 'phoneEnabled': 1, 'upd"
},
{
"flow": "I-03",
"case": "save 全量覆盖:响应回显保存后单例(精确/60%)",
"verdict": "✅",
"detail": "{'id': '1', 'masterEnabled': 1, 'nameEnabled': 1, 'nameMatchMode': 1, 'similarityThreshold': 60, 'phoneEnabled': 1, 'upd"
},
{
"flow": "I-03",
"case": "save→get 回读一致",
"verdict": "✅",
"detail": "{'id': '1', 'masterEnabled': 1, 'nameEnabled': 1, 'nameMatchMode': 1, 'similarityThreshold': 60, 'phoneEnabled': 1, 'upd"
},
{
"flow": "I-03",
"case": "开关缺省→0 / 方式缺省→模糊(2) / 阈值显式保留",
"verdict": "✅",
"detail": "{'id': '1', 'masterEnabled': 0, 'nameEnabled': 0, 'nameMatchMode': 2, 'similarityThreshold': 90, 'phoneEnabled': 0, 'upd"
},
{
"flow": "I-03",
"case": "阈值缺省 → 出厂 80(非静默保留 90,a7-3-3-2 §4.1 口径)",
"verdict": "✅",
"detail": "{'id': '1', 'masterEnabled': 0, 'nameEnabled': 0, 'nameMatchMode': 1, 'similarityThreshold': 80, 'phoneEnabled': 0, 'upd"
},
{
"flow": "I-03",
"case": "nameMatchMode=9 ∉ {1,2} → 64023",
"verdict": "✅",
"detail": "code=64023 如预期"
},
{
"flow": "I-03",
"case": "similarityThreshold=101 出 [0,100] → 64023",
"verdict": "✅",
"detail": "code=64023 如预期"
},
{
"flow": "I-03",
"case": "similarityThreshold=-1 出 [0,100] → 64023",
"verdict": "✅",
"detail": "code=64023 如预期"
},
{
"flow": "I-03",
"case": "64023 校验失败未落库(精确/80 保持)",
"verdict": "✅",
"detail": "{'id': '1', 'masterEnabled': 0, 'nameEnabled': 0, 'nameMatchMode': 1, 'similarityThreshold': 80, 'phoneEnabled': 0, 'upd"
},
{
"flow": "I-03",
"case": "查重设置还原原值",
"verdict": "✅",
"detail": "原={'masterEnabled': 1, 'nameEnabled': 1, 'nameMatchMode': 2, 'similarityThreshold': 80, 'phoneEnabled': 1} 现={'id': '1', 'masterEnabled': 1, 'nameEnabled': 1, 'nameMatchMode': 2, 'similarit"
},
{
"flow": "I-04",
"case": "两客户 stub 恒 NO_HIT(五状态软处置;filledFields=0)",
"verdict": "✅",
"detail": "[{'customerId': '751743636604977152', 'customerName': 'e2c-r2i-A-660049', 'status': 'NO_HIT', 'filledFields': 0, 'message': '工商源未查询到匹配企业'}, {'customerId': '7517"
},
{
"flow": "I-04",
"case": "NO_HIT 无回填:档案前后全等(只补空缺的空转证据)",
"verdict": "✅",
"detail": "before={'A': ('e2c-r2i-A-660049', None, 'gov'), 'B': ('e2c-r2i-B-660049', None, 'gov')} after={'A': ('e2c-r2i-A-660049', None, 'gov'), 'B': ('e2c-r2i-B-660049', None, 'gov')}"
},
{
"flow": "I-04",
"case": "幽灵客户 → 行级 NOT_FOUND(不整单失败)",
"verdict": "✅",
"detail": "[{'customerId': '999999999999999', 'customerName': None, 'status': 'NOT_FOUND', 'filledFields': 0, '"
},
{
"flow": "I-04",
"case": "空 ids → 67001/400/40001 拒绝",
"verdict": "✅",
"detail": "code=40001 msg=缺少必填参数:ids"
},
{
"flow": "I-04",
"case": "单次超上限 100 → 67001",
"verdict": "✅",
"detail": "code=67001 如预期"
},
{
"flow": "I-05",
"case": "首访 detail-head 插入 view_log(UNIQUE(user_id,customer_id))",
"verdict": "✅",
"detail": "rows=1 t1=2026-09-06 10:00:58"
},
{
"flow": "I-05",
"case": "再访 upsert:仍 1 行 + last_view_time 刷新(RECENT 视图锚点)",
"verdict": "✅",
"detail": "rows=1 t1=2026-09-06 10:00:58 t2=2026-09-06 10:01:00"
},
{
"flow": "I-05",
"case": "不同用户各占一行(user 维度隔离)",
"verdict": "✅",
"detail": "rows=2"
},
{
"flow": "I-06",
"case": "get 回 String(null=未设置,前端默认 list)",
"verdict": "✅",
"detail": "orig='list'"
},
{
"flow": "I-06",
"case": "save split → get=split",
"verdict": "✅",
"detail": "get='split'"
},
{
"flow": "I-06",
"case": "save board → get=board(白名单三值皆合法)",
"verdict": "✅",
"detail": "get='board'"
},
{
"flow": "I-06",
"case": "跨用户隔离(B 写不串 S)",
"verdict": "✅",
"detail": "S get='board'"
},
{
"flow": "I-06",
"case": "viewForm=card ∉ {list,split,board} → 68001",
"verdict": "✅",
"detail": "code=68001 如预期"
},
{
"flow": "I-06",
"case": "pool·board 被接受 ⚠ 契约漂移(§2.14 称拒绝;实现白名单无 pool 特判)——记档,票 06 聚合",
"verdict": "⚠",
"detail": "code=0(漂移非缺陷:归 Bruno/API-SUMMARY 文档侧处置)"
},
{
"flow": "I-06",
"case": "mine 还原为 'list'",
"verdict": "✅",
"detail": "get='list'"
},
{
"flow": "I-06",
"case": "pool 还原为 'list'",
"verdict": "✅",
"detail": ""
},
{
"flow": "I-07",
"case": "SKIP 上传:回显 SKIP + 重复组全失败不写入(t=2 i=0 u=0)",
"verdict": "✅",
"detail": "{'taskId': '751743692309528576', 'importMode': 'UPDATE_ONLY', 'duplicateStrategy': 'SKIP', 'totalCount': 2, 'insertCount': 0, 'updateCount': 0, 'failCount': 2, "
},
{
"flow": "I-07",
"case": "OVERWRITE 上传:回显 OVERWRITE + 仅末行生效(u=1)",
"verdict": "✅",
"detail": "{'taskId': '751743693240664064', 'importMode': 'UPDATE_ONLY', 'duplicateStrategy': 'OVERWRITE', 'totalCount': 2, 'insertCount': 0, 'updateCount': 1, 'failCount'"
},
{
"flow": "I-07",
"case": "duplicateStrategy=BOGUS 非法 → 67013",
"verdict": "✅",
"detail": "code=67013 如预期"
},
{
"flow": "I-07",
"case": "SKIP 执行 DONE:星级=3",
"verdict": "✅",
"detail": "star=3"
},
{
"flow": "I-07",
"case": "OVERWRITE 执行 DONE:星级=5",
"verdict": "✅",
"detail": "star=5"
},
{
"flow": "TEARDOWN",
"case": "客户 A 正门 archive",
"verdict": "✅",
"detail": "code=0"
},
{
"flow": "TEARDOWN",
"case": "客户 B 正门 archive",
"verdict": "✅",
"detail": "code=0"
},
{
"flow": "TEARDOWN",
"case": "e2c-r2i-* DB 兜底清扫(含 oplog/contact/agreement/view_log)",
"verdict": "✅",
"detail": "客户行 2 组"
}
],
"defects": [],
"elapsedSec": 18.4
}